58#include "vtkCommonTransformsModule.h"
89 void Translate(
double x,
double y,
double z) { this->Concatenation->Translate(x, y, z); }
103 this->Concatenation->Rotate(angle, x, y, z);
107 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
111 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
121 void RotateX(
double angle) { this->RotateWXYZ(angle, 1, 0, 0); }
122 void RotateY(
double angle) { this->RotateWXYZ(angle, 0, 1, 0); }
123 void RotateZ(
double angle) { this->RotateWXYZ(angle, 0, 0, 1); }
132 void Scale(
double x,
double y,
double z) { this->Concatenation->Scale(x, y, z); }
133 void Scale(
const double s[3]) { this->
Scale(s[0], s[1], s[2]); }
134 void Scale(
const float s[3]) { this->
Scale(s[0], s[1], s[2]); }
145 this->Concatenation->Identity();
146 this->Concatenate(elements);
156 void Concatenate(
const double elements[16]) { this->Concatenation->Concatenate(elements); }
177 if (this->Concatenation->GetPreMultiplyFlag())
181 this->Concatenation->SetPreMultiplyFlag(1);
194 if (!this->Concatenation->GetPreMultiplyFlag())
198 this->Concatenation->SetPreMultiplyFlag(0);
208 return this->Concatenation->GetNumberOfTransforms() + (this->Input ==
nullptr ? 0 : 1);
222 if (this->Input ==
nullptr)
224 t = this->Concatenation->GetTransform(i);
226 else if (i < this->Concatenation->GetNumberOfPreTransforms())
228 t = this->Concatenation->GetTransform(i);
230 else if (i > this->Concatenation->GetNumberOfPreTransforms())
232 t = this->Concatenation->GetTransform(i - 1);
234 else if (this->GetInverseFlag())
255 this->GetOrientation(temp);
256 orient[0] =
static_cast<float>(temp[0]);
257 orient[1] =
static_cast<float>(temp[1]);
258 orient[2] =
static_cast<float>(temp[2]);
262 this->GetOrientation(this->ReturnValue);
263 return this->ReturnValue;
282 this->GetOrientationWXYZ(temp);
283 wxyz[0] =
static_cast<float>(temp[0]);
284 wxyz[1] =
static_cast<float>(temp[1]);
285 wxyz[2] =
static_cast<float>(temp[2]);
286 wxyz[3] =
static_cast<float>(temp[3]);
290 this->GetOrientationWXYZ(this->ReturnValue);
291 return this->ReturnValue;
305 this->GetPosition(temp);
306 pos[0] =
static_cast<float>(temp[0]);
307 pos[1] =
static_cast<float>(temp[1]);
308 pos[2] =
static_cast<float>(temp[2]);
312 this->GetPosition(this->ReturnValue);
313 return this->ReturnValue;
328 this->GetScale(temp);
329 scale[0] =
static_cast<float>(temp[0]);
330 scale[1] =
static_cast<float>(temp[1]);
331 scale[2] =
static_cast<float>(temp[2]);
335 this->GetScale(this->ReturnValue);
336 return this->ReturnValue;
381 if (this->Stack ==
nullptr)
385 this->Stack->Push(&this->Concatenation);
397 if (this->Stack ==
nullptr)
401 this->Stack->Pop(&this->Concatenation);
460 double DoublePoint[4];
461 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(...)