39 #ifndef vtkAbstractTransform_h 40 #define vtkAbstractTransform_h 42 #include "vtkCommonTransformsModule.h" 63 this->InternalTransformPoint(in, out);
73 this->InternalTransformPoint(in, out);
82 return this->TransformDoublePoint(x, y, z);
96 this->InternalFloatPoint[0] = x;
97 this->InternalFloatPoint[1] = y;
98 this->InternalFloatPoint[2] = z;
99 this->TransformPoint(this->InternalFloatPoint, this->InternalFloatPoint);
100 return this->InternalFloatPoint;
115 this->InternalDoublePoint[0] = x;
116 this->InternalDoublePoint[1] = y;
117 this->InternalDoublePoint[2] = z;
118 this->TransformPoint(this->InternalDoublePoint, this->InternalDoublePoint);
119 return this->InternalDoublePoint;
133 void TransformNormalAtPoint(
const float point[3],
const float in[3],
float out[3]);
134 void TransformNormalAtPoint(
const double point[3],
const double in[3],
double out[3]);
139 this->TransformNormalAtPoint(
point, normal, this->InternalDoublePoint);
140 return this->InternalDoublePoint;
152 this->TransformNormalAtPoint(
point, normal, this->InternalDoublePoint);
153 return this->InternalDoublePoint;
165 this->TransformNormalAtPoint(
point, normal, this->InternalFloatPoint);
166 return this->InternalFloatPoint;
176 void TransformVectorAtPoint(
const float point[3],
const float in[3],
float out[3]);
177 void TransformVectorAtPoint(
const double point[3],
const double in[3],
double out[3]);
182 this->TransformVectorAtPoint(
point,
vector, this->InternalDoublePoint);
183 return this->InternalDoublePoint;
195 this->TransformVectorAtPoint(
point,
vector, this->InternalDoublePoint);
196 return this->InternalDoublePoint;
208 this->TransformVectorAtPoint(
point,
vector, this->InternalFloatPoint);
209 return this->InternalFloatPoint;
225 int nOptionalVectors = 0,
vtkDataArray** inVrsArr =
nullptr,
247 virtual void Inverse() = 0;
267 virtual void InternalTransformPoint(
const float in[3],
float out[3]) = 0;
268 virtual void InternalTransformPoint(
const double in[3],
double out[3]) = 0;
278 virtual void InternalTransformDerivative(
279 const float in[3],
float out[3],
float derivative[3][3]) = 0;
280 virtual void InternalTransformDerivative(
281 const double in[3],
double out[3],
double derivative[3][3]) = 0;
324 float InternalFloatPoint[3];
325 double InternalDoublePoint[3];
338 int DependsOnInverse;
367 this->InverseTransform = tmp;
389 void Concatenate(
const double elements[16]);
403 void Translate(
double x,
double y,
double z);
404 void Rotate(
double angle,
double x,
double y,
double z);
405 void Scale(
double x,
double y,
double z);
453 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 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
#define VTK_SIZEHINT(...)
Critical section locking class.
represent and manipulate 3D points