27#ifndef vtkAbstractTransform_h
28#define vtkAbstractTransform_h
30#include "vtkCommonTransformsModule.h"
34VTK_ABI_NAMESPACE_BEGIN
52 this->InternalTransformPoint(in, out);
62 this->InternalTransformPoint(in, out);
71 return this->TransformDoublePoint(x, y, z);
75 return this->TransformPoint(point[0], point[1], point[2]);
85 this->InternalFloatPoint[0] = x;
86 this->InternalFloatPoint[1] = y;
87 this->InternalFloatPoint[2] = z;
88 this->TransformPoint(this->InternalFloatPoint, this->InternalFloatPoint);
89 return this->InternalFloatPoint;
93 return this->TransformFloatPoint(point[0], point[1], point[2]);
104 this->InternalDoublePoint[0] = x;
105 this->InternalDoublePoint[1] = y;
106 this->InternalDoublePoint[2] = z;
107 this->TransformPoint(this->InternalDoublePoint, this->InternalDoublePoint);
108 return this->InternalDoublePoint;
112 return this->TransformDoublePoint(point[0], point[1], point[2]);
128 this->TransformNormalAtPoint(point, normal, this->InternalDoublePoint);
129 return this->InternalDoublePoint;
141 this->TransformNormalAtPoint(point, normal, this->InternalDoublePoint);
142 return this->InternalDoublePoint;
154 this->TransformNormalAtPoint(point, normal, this->InternalFloatPoint);
155 return this->InternalFloatPoint;
171 this->TransformVectorAtPoint(point, vector, this->InternalDoublePoint);
172 return this->InternalDoublePoint;
184 this->TransformVectorAtPoint(point, vector, this->InternalDoublePoint);
185 return this->InternalDoublePoint;
197 this->TransformVectorAtPoint(point, vector, this->InternalFloatPoint);
198 return this->InternalFloatPoint;
214 int nOptionalVectors = 0,
vtkDataArray** inVrsArr =
nullptr,
238 virtual
void Inverse() = 0;
258 virtual
void InternalTransformPoint(const
float in[3],
float out[3]) = 0;
259 virtual
void InternalTransformPoint(const
double in[3],
double out[3]) = 0;
269 virtual
void InternalTransformDerivative(
270 const
float in[3],
float out[3],
float derivative[3][3]) = 0;
271 virtual
void InternalTransformDerivative(
272 const
double in[3],
double out[3],
double derivative[3][3]) = 0;
298 void Modified() override;
313 virtual
void InternalUpdate() {}
320 float InternalFloatPoint[3];
321 double InternalDoublePoint[3];
326 vtkInternals* Internals;
348 this->InverseTransform = tmp;
385 void Rotate(
double angle,
double x,
double y,
double z);
386 void Scale(
double x,
double y,
double z);
abstract superclass for arrays of numeric data
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
abstract base class for most VTK objects
abstract base class for most VTK objects
represent and manipulate 3D points
vtkTypeUInt32 vtkMTimeType
#define VTK_SIZEHINT(...)
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALEXCLUDE(reason)