Go to the documentation of this file.
39 #ifndef vtkAbstractTransform_h
40 #define vtkAbstractTransform_h
42 #include "vtkCommonTransformsModule.h"
62 this->
Update(); this->InternalTransformPoint(in,out); };
69 this->
Update(); this->InternalTransformPoint(in,out); };
76 return this->TransformDoublePoint(x,y,z); }
86 this->InternalFloatPoint[0] = x;
87 this->InternalFloatPoint[1] = y;
88 this->InternalFloatPoint[2] = z;
89 this->TransformPoint(this->InternalFloatPoint,this->InternalFloatPoint);
90 return this->InternalFloatPoint; };
101 this->InternalDoublePoint[0] = x;
102 this->InternalDoublePoint[1] = y;
103 this->InternalDoublePoint[2] = z;
104 this->TransformPoint(this->InternalDoublePoint,this->InternalDoublePoint);
105 return this->InternalDoublePoint; };
116 void TransformNormalAtPoint(
const float point[3],
const float in[3],
118 void TransformNormalAtPoint(
const double point[3],
const double in[3],
123 const double normal[3]) {
124 this->TransformNormalAtPoint(
point,normal,this->InternalDoublePoint);
125 return this->InternalDoublePoint; };
134 const double normal[3]) {
135 this->TransformNormalAtPoint(
point,normal,this->InternalDoublePoint);
136 return this->InternalDoublePoint; };
146 const float normal[3]) {
147 this->TransformNormalAtPoint(
point,normal,this->InternalFloatPoint);
148 return this->InternalFloatPoint; };
157 void TransformVectorAtPoint(
const float point[3],
const float in[3],
159 void TransformVectorAtPoint(
const double point[3],
const double in[3],
165 this->TransformVectorAtPoint(
point,
vector,this->InternalDoublePoint);
166 return this->InternalDoublePoint; };
176 this->TransformVectorAtPoint(
point,
vector,this->InternalDoublePoint);
177 return this->InternalDoublePoint; };
188 this->TransformVectorAtPoint(
point,
vector,this->InternalFloatPoint);
189 return this->InternalFloatPoint; };
202 virtual void TransformPointsNormalsVectors(
vtkPoints *inPts,
228 virtual void Inverse() = 0;
248 virtual void InternalTransformPoint(
const float in[3],
float out[3]) = 0;
249 virtual void InternalTransformPoint(
const double in[3],
double out[3]) = 0;
259 virtual void InternalTransformDerivative(
const float in[3],
float out[3],
260 float derivative[3][3]) = 0;
261 virtual void InternalTransformDerivative(
const double in[3],
double out[3],
262 double derivative[3][3]) = 0;
298 virtual
void InternalUpdate() {}
305 float InternalFloatPoint[3];
306 double InternalDoublePoint[3];
320 int DependsOnInverse;
348 this->InverseTransform = tmp; };
370 void Concatenate(
const double elements[16]);
384 void Translate(
double x,
double y,
double z);
385 void Rotate(
double angle,
double x,
double y,
double z);
386 void Scale(
double x,
double y,
double z);
423 return this->NumberOfTransforms-this->NumberOfPreTransforms; };
435 void PrintSelf(ostream& os,
vtkIndent indent);
represent and manipulate 3D points
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
record modification and/or execution time
abstract base class for most VTK objects
abstract superclass for arrays of numeric data
vtkTypeUInt64 vtkMTimeType
virtual void Update()
Updates the extensions string.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
abstract base class for most VTK objects
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Critical section locking class.