00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkPickSphereWidget_h
00029 #define __vtkPickSphereWidget_h
00030
00031 #include "vtkSphereWidget.h"
00032
00033
00034 class vtkSMRenderModuleProxy;
00035
00036
00037 class VTK_EXPORT vtkPickSphereWidget : public vtkSphereWidget
00038 {
00039 public:
00040 static vtkPickSphereWidget* New();
00041 vtkTypeRevisionMacro(vtkPickSphereWidget, vtkSphereWidget);
00042
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00045 virtual void PlaceWidget(double bounds[6]);
00046 void PlaceWidget()
00047 {this->Superclass::PlaceWidget();}
00048 void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
00049 double zmin, double zmax)
00050 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
00051
00053
00054 void SetRenderModuleProxy(vtkSMRenderModuleProxy* rm)
00055 { this->RenderModuleProxy = rm; }
00056 vtkGetObjectMacro(RenderModuleProxy, vtkSMRenderModuleProxy);
00058
00060 virtual void SetEnabled(int);
00061
00062 vtkSetMacro(MouseControlToggle,int);
00063 vtkGetMacro(MouseControlToggle,int);
00064
00065 protected:
00066 vtkPickSphereWidget();
00067 ~vtkPickSphereWidget();
00068
00069
00070 vtkSMRenderModuleProxy* RenderModuleProxy;
00071
00072 virtual void OnChar();
00073 virtual void OnMouseMove();
00074 virtual void OnRightButtonDown();
00075 virtual void OnLeftButtonDown();
00076
00077 void PickInternal(int x, int y);
00078
00079
00080 static void ProcessEvents(vtkObject* object,
00081 unsigned long event,
00082 void* clientdata,
00083 void* calldata);
00084
00085 double PrevPickedPoint[4];
00086
00087 int MouseControlToggle;
00088
00089 private:
00090 vtkPickSphereWidget(const vtkPickSphereWidget&);
00091 void operator=(const vtkPickSphereWidget&);
00092
00093 int LastY;
00094 };
00095
00096 #endif