43#include "vtkCommonTransformsModule.h"
48VTK_ABI_NAMESPACE_BEGIN
75 void Translate(
double x,
double y,
double z) { this->Concatenation->Translate(x, y, z); }
87 void RotateWXYZ(
double angle,
double x,
double y,
double z)
89 this->Concatenation->Rotate(angle, x, y, z);
93 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
97 this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
107 void RotateX(
double angle) { this->RotateWXYZ(angle, 1, 0, 0); }
108 void RotateY(
double angle) { this->RotateWXYZ(angle, 0, 1, 0); }
109 void RotateZ(
double angle) { this->RotateWXYZ(angle, 0, 0, 1); }
118 void Scale(
double x,
double y,
double z) { this->Concatenation->Scale(x, y, z); }
119 void Scale(
const double s[3]) { this->
Scale(s[0], s[1], s[2]); }
120 void Scale(
const float s[3]) { this->
Scale(s[0], s[1], s[2]); }
131 this->Concatenation->Identity();
132 this->Concatenate(elements);
142 void Concatenate(
const double elements[16]) { this->Concatenation->Concatenate(elements); }
163 if (this->Concatenation->GetPreMultiplyFlag())
167 this->Concatenation->SetPreMultiplyFlag(1);
180 if (!this->Concatenation->GetPreMultiplyFlag())
184 this->Concatenation->SetPreMultiplyFlag(0);
194 return this->Concatenation->GetNumberOfTransforms() + (this->Input ==
nullptr ? 0 : 1);
208 if (this->Input ==
nullptr)
210 t = this->Concatenation->GetTransform(i);
212 else if (i < this->Concatenation->GetNumberOfPreTransforms())
214 t = this->Concatenation->GetTransform(i);
216 else if (i > this->Concatenation->GetNumberOfPreTransforms())
218 t = this->Concatenation->GetTransform(i - 1);
220 else if (this->GetInverseFlag())
241 this->GetOrientation(temp);
242 orient[0] =
static_cast<float>(temp[0]);
243 orient[1] =
static_cast<float>(temp[1]);
244 orient[2] =
static_cast<float>(temp[2]);
248 this->GetOrientation(this->ReturnValue);
249 return this->ReturnValue;
268 this->GetOrientationWXYZ(temp);
269 wxyz[0] =
static_cast<float>(temp[0]);
270 wxyz[1] =
static_cast<float>(temp[1]);
271 wxyz[2] =
static_cast<float>(temp[2]);
272 wxyz[3] =
static_cast<float>(temp[3]);
276 this->GetOrientationWXYZ(this->ReturnValue);
277 return this->ReturnValue;
291 this->GetPosition(temp);
292 pos[0] =
static_cast<float>(temp[0]);
293 pos[1] =
static_cast<float>(temp[1]);
294 pos[2] =
static_cast<float>(temp[2]);
298 this->GetPosition(this->ReturnValue);
299 return this->ReturnValue;
314 this->GetScale(temp);
315 scale[0] =
static_cast<float>(temp[0]);
316 scale[1] =
static_cast<float>(temp[1]);
317 scale[2] =
static_cast<float>(temp[2]);
321 this->GetScale(this->ReturnValue);
322 return this->ReturnValue;
367 if (this->Stack ==
nullptr)
371 this->Stack->Push(&this->Concatenation);
383 if (this->Stack ==
nullptr)
387 this->Stack->Pop(&this->Concatenation);
446 double DoublePoint[4];
447 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(...)