29 #ifndef vtkRenderWindowInteractor3D_h 30 #define vtkRenderWindowInteractor3D_h 32 #include "vtkRenderingCoreModule.h" 58 void Enable() VTK_OVERRIDE;
59 void Disable() VTK_OVERRIDE;
67 void TerminateApp(
void) VTK_OVERRIDE;
83 virtual
double *GetWorldEventPosition(
int pointerIndex)
89 return this->WorldEventPositions[pointerIndex];
97 return this->LastWorldEventPositions[pointerIndex];
105 return this->WorldEventOrientations[pointerIndex];
113 return this->LastWorldEventOrientations[pointerIndex];
131 <<
"): setting PhysicalEventPosition to (" 132 << x <<
"," << y <<
"," << z
133 <<
") for pointerIndex number " << pointerIndex);
134 if (this->PhysicalEventPositions[pointerIndex][0] != x ||
135 this->PhysicalEventPositions[pointerIndex][1] != y ||
136 this->PhysicalEventPositions[pointerIndex][2] != z ||
137 this->LastPhysicalEventPositions[pointerIndex][0] != x ||
138 this->LastPhysicalEventPositions[pointerIndex][1] != y ||
139 this->LastPhysicalEventPositions[pointerIndex][2] != z)
141 this->LastPhysicalEventPositions[pointerIndex][0] = this->PhysicalEventPositions[pointerIndex][0];
142 this->LastPhysicalEventPositions[pointerIndex][1] = this->PhysicalEventPositions[pointerIndex][1];
143 this->LastPhysicalEventPositions[pointerIndex][2] = this->PhysicalEventPositions[pointerIndex][2];
144 this->PhysicalEventPositions[pointerIndex][0] = x;
145 this->PhysicalEventPositions[pointerIndex][1] = y;
146 this->PhysicalEventPositions[pointerIndex][2] = z;
166 <<
"): setting WorldEventPosition to (" 167 << x <<
"," << y <<
"," << z
168 <<
") for pointerIndex number " << pointerIndex);
169 if (this->WorldEventPositions[pointerIndex][0] != x ||
170 this->WorldEventPositions[pointerIndex][1] != y ||
171 this->WorldEventPositions[pointerIndex][2] != z ||
172 this->LastWorldEventPositions[pointerIndex][0] != x ||
173 this->LastWorldEventPositions[pointerIndex][1] != y ||
174 this->LastWorldEventPositions[pointerIndex][2] != z)
176 this->LastWorldEventPositions[pointerIndex][0] = this->WorldEventPositions[pointerIndex][0];
177 this->LastWorldEventPositions[pointerIndex][1] = this->WorldEventPositions[pointerIndex][1];
178 this->LastWorldEventPositions[pointerIndex][2] = this->WorldEventPositions[pointerIndex][2];
179 this->WorldEventPositions[pointerIndex][0] = x;
180 this->WorldEventPositions[pointerIndex][1] = y;
181 this->WorldEventPositions[pointerIndex][2] = z;
193 <<
"): setting WorldEventOrientation to (" 194 << w <<
"," << x <<
"," << y <<
"," << z
195 <<
") for pointerIndex number " << pointerIndex);
196 if (this->WorldEventOrientations[pointerIndex][0] != w ||
197 this->WorldEventOrientations[pointerIndex][1] != x ||
198 this->WorldEventOrientations[pointerIndex][2] != y ||
199 this->WorldEventOrientations[pointerIndex][3] != z ||
200 this->LastWorldEventOrientations[pointerIndex][0] != w ||
201 this->LastWorldEventOrientations[pointerIndex][1] != x ||
202 this->LastWorldEventOrientations[pointerIndex][2] != y ||
203 this->LastWorldEventOrientations[pointerIndex][3] != z)
205 this->LastWorldEventOrientations[pointerIndex][0] = this->WorldEventOrientations[pointerIndex][0];
206 this->LastWorldEventOrientations[pointerIndex][1] = this->WorldEventOrientations[pointerIndex][1];
207 this->LastWorldEventOrientations[pointerIndex][2] = this->WorldEventOrientations[pointerIndex][2];
208 this->LastWorldEventOrientations[pointerIndex][3] = this->WorldEventOrientations[pointerIndex][3];
209 this->WorldEventOrientations[pointerIndex][0] = w;
210 this->WorldEventOrientations[pointerIndex][1] = x;
211 this->WorldEventOrientations[pointerIndex][2] = y;
212 this->WorldEventOrientations[pointerIndex][3] = z;
238 vtkSetVector2Macro(TouchPadPosition,
float);
239 vtkGetVector2Macro(TouchPadPosition,
float);
255 void SetTranslation3D(
double val[3]);
256 vtkGetVector3Macro(Translation3D,
double);
257 vtkGetVector3Macro(LastTranslation3D,
double);
263 vtkGetMacro(Done,
bool);
271 float TouchPadPosition[2];
272 double Translation3D[3];
273 double LastTranslation3D[3];
virtual void SetPhysicalTranslation(vtkCamera *, double, double, double)
Set/Get the optional translation to map world coordinates into the 3D physical space (meters...
virtual void Enable()
Enable/Disable interactions.
virtual void SetWorldEventPosition(double x, double y, double z, int pointerIndex)
With VR we know the world coordinate positions and orientations of events.
virtual void RecognizeGesture(vtkCommand::EventIds)
virtual void SetWorldEventOrientation(double w, double x, double y, double z, int pointerIndex)
With VR we know the world coordinate positions and orientations of events.
adds support for 3D events to vtkRenderWindowInteractor.
virtual void RightButtonReleaseEvent()
Fire various events.
virtual void MiddleButtonPressEvent()
Fire various events.
virtual void MiddleButtonReleaseEvent()
Fire various events.
virtual double * GetPhysicalTranslation(vtkCamera *)
Set/Get the optional translation to map world coordinates into the 3D physical space (meters...
static vtkRenderWindowInteractor * New()
platform-independent render window interaction including picking and frame rate control.
const char * GetClassName() const
Return the class name as a string.
a simple class to control print indentation
a virtual camera for 3D rendering
virtual double * GetLastWorldEventPosition(int pointerIndex)
With VR we know the world coordinate positions and orientations of events.
virtual void Modified()
Update the modification time for this object.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract API for pickers that can pick an instance of vtkProp
#define VTKI_MAX_POINTERS
virtual double * GetWorldEventOrientation(int pointerIndex)
With VR we know the world coordinate positions and orientations of events.
virtual void RightButtonPressEvent()
Fire various events.
virtual double * GetLastWorldEventOrientation(int pointerIndex)
With VR we know the world coordinate positions and orientations of events.
virtual void SetPhysicalEventPosition(double x, double y, double z, int pointerIndex)
With VR we know the physical/room coordinate positions and orientations of events.