64#include "vtkCommonTransformsModule.h"
95 void Translate(
double x,
double y,
double z) { this->Concatenation->Translate(x, y, z); }
109 this->Concatenation->Rotate(angle, x, y, z);
113 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
117 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
127 void RotateX(
double angle) { this->RotateWXYZ(angle, 1, 0, 0); }
128 void RotateY(
double angle) { this->RotateWXYZ(angle, 0, 1, 0); }
129 void RotateZ(
double angle) { this->RotateWXYZ(angle, 0, 0, 1); }
138 void Scale(
double x,
double y,
double z) { this->Concatenation->Scale(x, y, z); }
139 void Scale(
const double s[3]) { this->
Scale(s[0], s[1], s[2]); }
140 void Scale(
const float s[3]) { this->
Scale(s[0], s[1], s[2]); }
151 this->Concatenation->Identity();
152 this->Concatenate(elements);
162 void Concatenate(
const double elements[16]) { this->Concatenation->Concatenate(elements); }
183 if (this->Concatenation->GetPreMultiplyFlag())
187 this->Concatenation->SetPreMultiplyFlag(1);
200 if (!this->Concatenation->GetPreMultiplyFlag())
204 this->Concatenation->SetPreMultiplyFlag(0);
214 return this->Concatenation->GetNumberOfTransforms() + (this->Input ==
nullptr ? 0 : 1);
228 if (this->Input ==
nullptr)
230 t = this->Concatenation->GetTransform(i);
232 else if (i < this->Concatenation->GetNumberOfPreTransforms())
234 t = this->Concatenation->GetTransform(i);
236 else if (i > this->Concatenation->GetNumberOfPreTransforms())
238 t = this->Concatenation->GetTransform(i - 1);
240 else if (this->GetInverseFlag())
261 this->GetOrientation(temp);
262 orient[0] =
static_cast<float>(temp[0]);
263 orient[1] =
static_cast<float>(temp[1]);
264 orient[2] =
static_cast<float>(temp[2]);
268 this->GetOrientation(this->ReturnValue);
269 return this->ReturnValue;
288 this->GetOrientationWXYZ(temp);
289 wxyz[0] =
static_cast<float>(temp[0]);
290 wxyz[1] =
static_cast<float>(temp[1]);
291 wxyz[2] =
static_cast<float>(temp[2]);
292 wxyz[3] =
static_cast<float>(temp[3]);
296 this->GetOrientationWXYZ(this->ReturnValue);
297 return this->ReturnValue;
311 this->GetPosition(temp);
312 pos[0] =
static_cast<float>(temp[0]);
313 pos[1] =
static_cast<float>(temp[1]);
314 pos[2] =
static_cast<float>(temp[2]);
318 this->GetPosition(this->ReturnValue);
319 return this->ReturnValue;
334 this->GetScale(temp);
335 scale[0] =
static_cast<float>(temp[0]);
336 scale[1] =
static_cast<float>(temp[1]);
337 scale[2] =
static_cast<float>(temp[2]);
341 this->GetScale(this->ReturnValue);
342 return this->ReturnValue;
387 if (this->Stack ==
nullptr)
391 this->Stack->Push(&this->Concatenation);
403 if (this->Stack ==
nullptr)
407 this->Stack->Pop(&this->Concatenation);
466 double DoublePoint[4];
467 double ReturnValue[4];
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
void MultiplyPoint(const float in[4], float out[4])
Multiply a homogeneous coordinate by this matrix, i.e.
double Element[4][4]
The internal data is public for historical reasons. Do not use!
virtual void Modified()
Update the modification time for this object.
vtkTypeUInt32 vtkMTimeType
#define VTK_SIZEHINT(...)