32 #ifndef vtkRenderWindowInteractor3D_h
33 #define vtkRenderWindowInteractor3D_h
36 #include "vtkRenderingCoreModule.h"
82 return this->WorldEventPositions[pointerIndex];
90 return this->LastWorldEventPositions[pointerIndex];
98 return this->WorldEventOrientations[pointerIndex];
106 return this->LastWorldEventOrientations[pointerIndex];
108 virtual void GetWorldEventPose(
vtkMatrix4x4* poseMatrix,
int pointerIndex);
109 virtual void GetLastWorldEventPose(
vtkMatrix4x4* poseMatrix,
int pointerIndex);
124 vtkDebugMacro(<< this->
GetClassName() <<
" (" <<
this <<
"): setting PhysicalEventPosition to ("
125 << x <<
"," << y <<
"," << z <<
") for pointerIndex number " << pointerIndex);
126 if (this->PhysicalEventPositions[pointerIndex][0] != x ||
127 this->PhysicalEventPositions[pointerIndex][1] != y ||
128 this->PhysicalEventPositions[pointerIndex][2] != z ||
129 this->LastPhysicalEventPositions[pointerIndex][0] != x ||
130 this->LastPhysicalEventPositions[pointerIndex][1] != y ||
131 this->LastPhysicalEventPositions[pointerIndex][2] != z)
133 this->LastPhysicalEventPositions[pointerIndex][0] =
134 this->PhysicalEventPositions[pointerIndex][0];
135 this->LastPhysicalEventPositions[pointerIndex][1] =
136 this->PhysicalEventPositions[pointerIndex][1];
137 this->LastPhysicalEventPositions[pointerIndex][2] =
138 this->PhysicalEventPositions[pointerIndex][2];
139 this->PhysicalEventPositions[pointerIndex][0] = x;
140 this->PhysicalEventPositions[pointerIndex][1] = y;
141 this->PhysicalEventPositions[pointerIndex][2] = z;
145 virtual void SetPhysicalEventPose(
vtkMatrix4x4* poseMatrix,
int pointerIndex);
154 virtual void GetPhysicalEventPose(
vtkMatrix4x4* poseMatrix,
int pointerIndex);
155 virtual void GetLastPhysicalEventPose(
vtkMatrix4x4* poseMatrix,
int pointerIndex);
156 virtual void GetStartingPhysicalEventPose(
vtkMatrix4x4* poseMatrix,
int pointerIndex);
171 vtkDebugMacro(<< this->
GetClassName() <<
" (" <<
this <<
"): setting WorldEventPosition to ("
172 << x <<
"," << y <<
"," << z <<
") for pointerIndex number " << pointerIndex);
173 if (this->WorldEventPositions[pointerIndex][0] != x ||
174 this->WorldEventPositions[pointerIndex][1] != y ||
175 this->WorldEventPositions[pointerIndex][2] != z ||
176 this->LastWorldEventPositions[pointerIndex][0] != x ||
177 this->LastWorldEventPositions[pointerIndex][1] != y ||
178 this->LastWorldEventPositions[pointerIndex][2] != z)
180 this->LastWorldEventPositions[pointerIndex][0] = this->WorldEventPositions[pointerIndex][0];
181 this->LastWorldEventPositions[pointerIndex][1] = this->WorldEventPositions[pointerIndex][1];
182 this->LastWorldEventPositions[pointerIndex][2] = this->WorldEventPositions[pointerIndex][2];
183 this->WorldEventPositions[pointerIndex][0] = x;
184 this->WorldEventPositions[pointerIndex][1] = y;
185 this->WorldEventPositions[pointerIndex][2] = z;
195 vtkDebugMacro(<< this->
GetClassName() <<
" (" <<
this <<
"): setting WorldEventOrientation to ("
196 << w <<
"," << x <<
"," << y <<
"," << z <<
") for pointerIndex number "
198 if (this->WorldEventOrientations[pointerIndex][0] != w ||
199 this->WorldEventOrientations[pointerIndex][1] != x ||
200 this->WorldEventOrientations[pointerIndex][2] != y ||
201 this->WorldEventOrientations[pointerIndex][3] != z ||
202 this->LastWorldEventOrientations[pointerIndex][0] != w ||
203 this->LastWorldEventOrientations[pointerIndex][1] != x ||
204 this->LastWorldEventOrientations[pointerIndex][2] != y ||
205 this->LastWorldEventOrientations[pointerIndex][3] != z)
207 this->LastWorldEventOrientations[pointerIndex][0] =
208 this->WorldEventOrientations[pointerIndex][0];
209 this->LastWorldEventOrientations[pointerIndex][1] =
210 this->WorldEventOrientations[pointerIndex][1];
211 this->LastWorldEventOrientations[pointerIndex][2] =
212 this->WorldEventOrientations[pointerIndex][2];
213 this->LastWorldEventOrientations[pointerIndex][3] =
214 this->WorldEventOrientations[pointerIndex][3];
215 this->WorldEventOrientations[pointerIndex][0] = w;
216 this->WorldEventOrientations[pointerIndex][1] = x;
217 this->WorldEventOrientations[pointerIndex][2] = y;
218 this->WorldEventOrientations[pointerIndex][3] = z;
222 virtual void SetWorldEventPose(
vtkMatrix4x4* poseMatrix,
int pointerIndex);
263 void SetTranslation3D(
double val[3]);
264 vtkGetVector3Macro(Translation3D,
double);
265 vtkGetVector3Macro(LastTranslation3D,
double);
274 double Translation3D[3];
275 double LastTranslation3D[3];