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;
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);
abstract base class for most VTK objects
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.
vtkTypeUInt32 vtkMTimeType
record modification and/or execution time
virtual void Update()
Updates the extensions string.
virtual void UnRegister(vtkObjectBase *o)
Decrease the reference count (release by another object).
a simple class to control print indentation
abstract superclass for arrays of numeric data
virtual vtkMTimeType GetMTime()
Return this object's modified time.
abstract base class for most VTK objects
Critical section locking class.
represent and manipulate 3D points