Rendering/vtkInteractorObserver.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043 #ifndef __vtkInteractorObserver_h
00044 #define __vtkInteractorObserver_h
00045
00046 #include "vtkObject.h"
00047
00048 class vtkRenderWindowInteractor;
00049 class vtkRenderer;
00050 class vtkCallbackCommand;
00051
00052 class VTK_RENDERING_EXPORT vtkInteractorObserver : public vtkObject
00053 {
00054 public:
00055 vtkTypeRevisionMacro(vtkInteractorObserver,vtkObject);
00056 void PrintSelf(ostream& os, vtkIndent indent);
00057
00059
00065 virtual void SetEnabled(int) {};
00066 int GetEnabled() {return this->Enabled;}
00067 void EnabledOn() {this->SetEnabled(1);}
00068 void EnabledOff() {this->SetEnabled(0);}
00069 void On() {this->SetEnabled(1);}
00070 void Off() {this->SetEnabled(0);}
00072
00074
00079 virtual void SetInteractor(vtkRenderWindowInteractor* iren);
00080 vtkGetObjectMacro(Interactor, vtkRenderWindowInteractor);
00082
00084
00092 vtkSetClampMacro(Priority,float,0.0f,1.0f);
00093 vtkGetMacro(Priority,float);
00095
00097
00101 vtkSetMacro(KeyPressActivation,int);
00102 vtkGetMacro(KeyPressActivation,int);
00103 vtkBooleanMacro(KeyPressActivation,int);
00105
00107
00113 vtkSetMacro(KeyPressActivationValue,char);
00114 vtkGetMacro(KeyPressActivationValue,char);
00116
00118
00124 vtkGetObjectMacro(DefaultRenderer,vtkRenderer);
00125 virtual void SetDefaultRenderer(vtkRenderer*);
00127
00129
00137 vtkGetObjectMacro(CurrentRenderer,vtkRenderer);
00138 virtual void SetCurrentRenderer(vtkRenderer*);
00140
00141
00142 virtual void OnChar();
00143
00144 protected:
00145 vtkInteractorObserver();
00146 ~vtkInteractorObserver();
00147
00149
00152 virtual void StartInteraction();
00153 virtual void EndInteraction();
00155
00157
00159 static void ProcessEvents(vtkObject* object,
00160 unsigned long event,
00161 void* clientdata,
00162 void* calldata);
00164
00166
00167 void ComputeDisplayToWorld(double x, double y, double z,
00168 double worldPt[4]);
00169 void ComputeWorldToDisplay(double x, double y, double z,
00170 double displayPt[3]);
00172
00173
00174 int Enabled;
00175
00176
00177 vtkCallbackCommand* EventCallbackCommand;
00178 vtkCallbackCommand* KeyPressCallbackCommand;
00179
00180
00181 float Priority;
00182
00183
00184 int KeyPressActivation;
00185 char KeyPressActivationValue;
00186
00187
00188 vtkRenderWindowInteractor *Interactor;
00189
00190
00191 vtkRenderer *CurrentRenderer;
00192 vtkRenderer *DefaultRenderer;
00193
00194 private:
00195 vtkInteractorObserver(const vtkInteractorObserver&);
00196 void operator=(const vtkInteractorObserver&);
00197
00198 };
00199
00200 #endif