|  | VTK
    9.0.1
    | 
 
 
 
Go to the documentation of this file.
   45 #ifndef vtkPerspectiveTransform_h 
   46 #define vtkPerspectiveTransform_h 
   48 #include "vtkCommonTransformsModule.h"  
   67     this->Concatenation->Identity();
 
   78     this->Concatenation->Inverse();
 
   90   void AdjustViewport(
double oldXMin, 
double oldXMax, 
double oldYMin, 
double oldYMax,
 
   91     double newXMin, 
double newXMax, 
double newYMin, 
double newYMax);
 
  100   void AdjustZBuffer(
double oldNearZ, 
double oldFarZ, 
double newNearZ, 
double newFarZ);
 
  107   void Ortho(
double xmin, 
double xmax, 
double ymin, 
double ymax, 
double znear, 
double zfar);
 
  115   void Frustum(
double xmin, 
double xmax, 
double ymin, 
double ymax, 
double znear, 
double zfar);
 
  123   void Perspective(
double angle, 
double aspect, 
double znear, 
double zfar);
 
  138   void Shear(
double dxdz, 
double dydz, 
double zplane);
 
  150   void Stereo(
double angle, 
double focaldistance);
 
  157   void SetupCamera(
const double position[3], 
const double focalpoint[3], 
const double viewup[3]);
 
  159   void SetupCamera(
double p0, 
double p1, 
double p2, 
double fp0, 
double fp1, 
double fp2, 
double vup0,
 
  160     double vup1, 
double vup2);
 
  167   void Translate(
double x, 
double y, 
double z) { this->Concatenation->Translate(x, y, z); }
 
  181     this->Concatenation->Rotate(angle, x, y, z);
 
  185     this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
 
  189     this->RotateWXYZ(angle, axis[0], axis[1], axis[2]);
 
  199   void RotateX(
double angle) { this->RotateWXYZ(angle, 1, 0, 0); }
 
  200   void RotateY(
double angle) { this->RotateWXYZ(angle, 0, 1, 0); }
 
  201   void RotateZ(
double angle) { this->RotateWXYZ(angle, 0, 0, 1); }
 
  210   void Scale(
double x, 
double y, 
double z) { this->Concatenation->Scale(x, y, z); }
 
  211   void Scale(
const double s[3]) { this->
Scale(s[0], s[1], s[2]); }
 
  212   void Scale(
const float s[3]) { this->
Scale(s[0], s[1], s[2]); }
 
  224     this->Concatenate(elements);
 
  234   void Concatenate(
const double elements[16]) { this->Concatenation->Concatenate(elements); }
 
  255     if (this->Concatenation->GetPreMultiplyFlag())
 
  259     this->Concatenation->SetPreMultiplyFlag(1);
 
  272     if (!this->Concatenation->GetPreMultiplyFlag())
 
  276     this->Concatenation->SetPreMultiplyFlag(0);
 
  286     return this->Concatenation->GetNumberOfTransforms() + (this->Input == 
nullptr ? 0 : 1);
 
  300     if (this->Input == 
nullptr)
 
  302       t = this->Concatenation->GetTransform(i);
 
  304     else if (i < this->Concatenation->GetNumberOfPreTransforms())
 
  306       t = this->Concatenation->GetTransform(i);
 
  308     else if (i > this->Concatenation->GetNumberOfPreTransforms())
 
  310       t = this->Concatenation->GetTransform(i - 1);
 
  312     else if (this->GetInverseFlag())
 
  352     if (this->Stack == 
nullptr)
 
  356     this->Stack->Push(&this->Concatenation);
 
  368     if (this->Stack == 
nullptr)
 
  372     this->Stack->Pop(&this->Concatenation);
 
  
double Element[4][4]
The internal data is public for historical reasons. Do not use!
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
virtual void Modified()
Update the modification time for this object.
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
vtkTypeUInt32 vtkMTimeType