00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkPickBoxWidget_h
00029 #define __vtkPickBoxWidget_h
00030
00031 #include "vtkBoxWidget.h"
00032
00033
00034 class vtkSMRenderModuleProxy;
00035
00036
00037 class VTK_EXPORT vtkPickBoxWidget : public vtkBoxWidget
00038 {
00039 public:
00040 static vtkPickBoxWidget* New();
00041 vtkTypeRevisionMacro(vtkPickBoxWidget, vtkBoxWidget);
00042
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046
00047 void SetRenderModuleProxy(vtkSMRenderModuleProxy* rm)
00048 { this->RenderModuleProxy = rm; }
00049 vtkGetObjectMacro(RenderModuleProxy, vtkSMRenderModuleProxy);
00051
00052 virtual void PlaceWidget(double bounds[6]);
00053 void PlaceWidget()
00054 {this->Superclass::PlaceWidget();}
00055 void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
00056 double zmin, double zmax)
00057 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
00058
00060 virtual void SetEnabled(int);
00061
00062 vtkSetMacro(MouseControlToggle,int);
00063 vtkGetMacro(MouseControlToggle,int);
00064
00065 protected:
00066 vtkPickBoxWidget();
00067 ~vtkPickBoxWidget();
00068
00069
00070 vtkSMRenderModuleProxy* RenderModuleProxy;
00071
00072 virtual void OnChar();
00073 virtual void OnMouseMove();
00074 virtual void OnLeftButtonDown();
00075 virtual void OnRightButtonDown();
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
00086 double PrevPickedPoint[4];
00087
00088 int MouseControlToggle;
00089
00090 private:
00091 vtkPickBoxWidget(const vtkPickBoxWidget&);
00092 void operator=(const vtkPickBoxWidget&);
00093
00094 int LastY;
00095 };
00096
00097 #endif