20#ifndef vtkGeneralTransform_h 
   21#define vtkGeneralTransform_h 
   24#include "vtkCommonTransformsModule.h"  
   28VTK_ABI_NAMESPACE_BEGIN
 
   44    this->Concatenation->Identity();
 
   55    this->Concatenation->Inverse();
 
   64  void Translate(
double x, 
double y, 
double z) { this->Concatenation->Translate(x, y, z); }
 
   76  void RotateWXYZ(
double angle, 
double x, 
double y, 
double z)
 
   78    this->Concatenation->Rotate(angle, x, y, z);
 
   82    this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
 
   86    this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
 
   96  void RotateX(
double angle) { this->RotateWXYZ(angle, 1, 0, 0); }
 
   97  void RotateY(
double angle) { this->RotateWXYZ(angle, 0, 1, 0); }
 
   98  void RotateZ(
double angle) { this->RotateWXYZ(angle, 0, 0, 1); }
 
  107  void Scale(
double x, 
double y, 
double z) { this->Concatenation->Scale(x, y, z); }
 
  108  void Scale(
const double s[3]) { this->
Scale(s[0], s[1], s[2]); }
 
  109  void Scale(
const float s[3]) { this->
Scale(s[0], s[1], s[2]); }
 
  118  void Concatenate(
const double elements[16]) { this->Concatenation->Concatenate(elements); }
 
  139    if (this->Concatenation->GetPreMultiplyFlag())
 
  143    this->Concatenation->SetPreMultiplyFlag(1);
 
  156    if (!this->Concatenation->GetPreMultiplyFlag())
 
  160    this->Concatenation->SetPreMultiplyFlag(0);
 
  170    return this->Concatenation->GetNumberOfTransforms() + (this->Input == 
nullptr ? 0 : 1);
 
  182    if (this->Input == 
nullptr)
 
  184      return this->Concatenation->GetTransform(i);
 
  186    else if (i < this->Concatenation->GetNumberOfPreTransforms())
 
  188      return this->Concatenation->GetTransform(i);
 
  190    else if (i > this->Concatenation->GetNumberOfPreTransforms())
 
  192      return this->Concatenation->GetTransform(i - 1);
 
  194    else if (this->GetInverseFlag())
 
  232    if (this->Stack == 
nullptr)
 
  236    this->Stack->Push(&this->Concatenation);
 
  248    if (this->Stack == 
nullptr)
 
  252    this->Stack->Pop(&this->Concatenation);
 
  273    const float in[3], 
float out[3], 
float derivative[3][3]) 
override;
 
  275    const double in[3], 
double out[3], 
double derivative[3][3]) 
override;
 
a simple class to control print indentation
 
represent and manipulate 4x4 transformation matrices
 
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