|
virtual vtkTypeBool | IsA (const char *type) |
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
|
|
vtkTransform * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. More...
|
|
void | Identity () |
| Set the transformation to the identity transformation. More...
|
|
void | Inverse () override |
| Invert the transformation. More...
|
|
void | Translate (double x, double y, double z) |
| Create a translation matrix and concatenate it with the current transformation according to PreMultiply or PostMultiply semantics. More...
|
|
void | Translate (const double x[3]) |
|
void | Translate (const float x[3]) |
|
void | RotateWXYZ (double angle, double x, double y, double z) |
| Create a rotation matrix and concatenate it with the current transformation according to PreMultiply or PostMultiply semantics. More...
|
|
void | RotateWXYZ (double angle, const double axis[3]) |
|
void | RotateWXYZ (double angle, const float axis[3]) |
|
void | RotateX (double angle) |
| Create a rotation matrix about the X, Y, or Z axis and concatenate it with the current transformation according to PreMultiply or PostMultiply semantics. More...
|
|
void | RotateY (double angle) |
|
void | RotateZ (double angle) |
|
void | Scale (double x, double y, double z) |
| Create a scale matrix (i.e. More...
|
|
void | Scale (const double s[3]) |
|
void | Scale (const float s[3]) |
|
void | SetMatrix (vtkMatrix4x4 *matrix) |
| Set the current matrix directly. More...
|
|
void | SetMatrix (const double elements[16]) |
|
void | Concatenate (vtkMatrix4x4 *matrix) |
| Concatenates the matrix with the current transformation according to PreMultiply or PostMultiply semantics. More...
|
|
void | Concatenate (const double elements[16]) |
|
void | Concatenate (vtkLinearTransform *transform) |
| Concatenate the specified transform with the current transformation according to PreMultiply or PostMultiply semantics. More...
|
|
void | PreMultiply () |
| Sets the internal state of the transform to PreMultiply. More...
|
|
void | PostMultiply () |
| Sets the internal state of the transform to PostMultiply. More...
|
|
int | GetNumberOfConcatenatedTransforms () |
| Get the total number of transformations that are linked into this one via Concatenate() operations or via SetInput(). More...
|
|
vtkLinearTransform * | GetConcatenatedTransform (int i) |
| Get one of the concatenated transformations as a vtkAbstractTransform. More...
|
|
void | GetOrientation (double orient[3]) |
| Get the x, y, z orientation angles from the transformation matrix as an array of three floating point values. More...
|
|
void | GetOrientation (float orient[3]) |
|
double * | GetOrientation () |
|
void | GetOrientationWXYZ (double wxyz[4]) |
| Return the wxyz angle+axis representing the current orientation. More...
|
|
void | GetOrientationWXYZ (float wxyz[4]) |
|
double * | GetOrientationWXYZ () |
|
void | GetPosition (double pos[3]) |
| Return the position from the current transformation matrix as an array of three floating point numbers. More...
|
|
void | GetPosition (float pos[3]) |
|
double * | GetPosition () |
|
void | GetScale (double scale[3]) |
| Return the scale factors of the current transformation matrix as an array of three float numbers. More...
|
|
void | GetScale (float scale[3]) |
|
double * | GetScale () |
|
void | GetInverse (vtkMatrix4x4 *inverse) |
| Return a matrix which is the inverse of the current transformation matrix. More...
|
|
void | GetTranspose (vtkMatrix4x4 *transpose) |
| Return a matrix which is the transpose of the current transformation matrix. More...
|
|
void | SetInput (vtkLinearTransform *input) |
| Set the input for this transformation. More...
|
|
vtkLinearTransform * | GetInput () |
|
int | GetInverseFlag () |
| Get the inverse flag of the transformation. More...
|
|
void | Push () |
| Pushes the current transformation onto the transformation stack. More...
|
|
void | Pop () |
| Deletes the transformation on the top of the stack and sets the top to the next transformation on the stack. More...
|
|
int | CircuitCheck (vtkAbstractTransform *transform) override |
| Check for self-reference. More...
|
|
vtkAbstractTransform * | GetInverse () |
|
vtkAbstractTransform * | MakeTransform () override |
| Make a new transform of the same type. More...
|
|
vtkMTimeType | GetMTime () override |
| Override GetMTime to account for input and concatenation. More...
|
|
void | MultiplyPoint (const float in[4], float out[4]) |
| Use this method only if you wish to compute the transformation in homogeneous (x,y,z,w) coordinates, otherwise use TransformPoint(). More...
|
|
void | MultiplyPoint (const double in[4], double out[4]) |
|
vtkLinearTransform * | NewInstance () const |
|
void | TransformNormal (const float in[3], float out[3]) |
| Apply the transformation to a normal. More...
|
|
void | TransformNormal (const double in[3], double out[3]) |
| Apply the transformation to a double-precision normal. More...
|
|
double * | TransformNormal (double x, double y, double z) |
| Synonymous with TransformDoubleNormal(x,y,z). More...
|
|
double * | TransformNormal (const double normal[3]) |
|
float * | TransformFloatNormal (float x, float y, float z) |
| Apply the transformation to an (x,y,z) normal. More...
|
|
float * | TransformFloatNormal (const float normal[3]) |
|
double * | TransformDoubleNormal (double x, double y, double z) |
| Apply the transformation to a double-precision (x,y,z) normal. More...
|
|
double * | TransformDoubleNormal (const double normal[3]) |
|
double * | TransformVector (double x, double y, double z) |
| Synonymous with TransformDoubleVector(x,y,z). More...
|
|
double * | TransformVector (const double normal[3]) |
|
void | TransformVector (const float in[3], float out[3]) |
| Apply the transformation to a vector. More...
|
|
void | TransformVector (const double in[3], double out[3]) |
| Apply the transformation to a double-precision vector. More...
|
|
float * | TransformFloatVector (float x, float y, float z) |
| Apply the transformation to an (x,y,z) vector. More...
|
|
float * | TransformFloatVector (const float vec[3]) |
|
double * | TransformDoubleVector (double x, double y, double z) |
| Apply the transformation to a double-precision (x,y,z) vector. More...
|
|
double * | TransformDoubleVector (const double vec[3]) |
|
void | TransformPoints (vtkPoints *inPts, vtkPoints *outPts) override |
| Apply the transformation to a series of points, and append the results to outPts. More...
|
|
virtual void | TransformNormals (vtkDataArray *inNms, vtkDataArray *outNms) |
| Apply the transformation to a series of normals, and append the results to outNms. More...
|
|
virtual void | TransformVectors (vtkDataArray *inVrs, vtkDataArray *outVrs) |
| Apply the transformation to a series of vectors, and append the results to outVrs. More...
|
|
void | TransformPointsNormalsVectors (vtkPoints *inPts, vtkPoints *outPts, vtkDataArray *inNms, vtkDataArray *outNms, vtkDataArray *inVrs, vtkDataArray *outVrs, int nOptionalVectors=0, vtkDataArray **inVrsArr=nullptr, vtkDataArray **outVrsArr=nullptr) override |
| Apply the transformation to a combination of points, normals and vectors. More...
|
|
vtkLinearTransform * | GetLinearInverse () |
| Just like GetInverse, but it includes a typecast to vtkLinearTransform. More...
|
|
void | InternalTransformPoint (const float in[3], float out[3]) override |
| This will calculate the transformation without calling Update. More...
|
|
void | InternalTransformPoint (const double in[3], double out[3]) override |
|
virtual void | InternalTransformNormal (const float in[3], float out[3]) |
| This will calculate the transformation without calling Update. More...
|
|
virtual void | InternalTransformNormal (const double in[3], double out[3]) |
|
virtual void | InternalTransformVector (const float in[3], float out[3]) |
| This will calculate the transformation without calling Update. More...
|
|
virtual void | InternalTransformVector (const double in[3], double out[3]) |
|
void | InternalTransformDerivative (const float in[3], float out[3], float derivative[3][3]) override |
| This will calculate the transformation as well as its derivative without calling Update. More...
|
|
void | InternalTransformDerivative (const double in[3], double out[3], double derivative[3][3]) override |
|
vtkHomogeneousTransform * | NewInstance () const |
|
void | GetMatrix (vtkMatrix4x4 *m) |
| Get a copy of the internal transformation matrix. More...
|
|
vtkMatrix4x4 * | GetMatrix () |
| Get a pointer to an internal vtkMatrix4x4 that represents the transformation. More...
|
|
vtkHomogeneousTransform * | GetHomogeneousInverse () |
| Just like GetInverse(), but includes typecast to vtkHomogeneousTransform. More...
|
|
vtkAbstractTransform * | NewInstance () const |
|
void | TransformPoint (const float in[3], float out[3]) |
| Apply the transformation to a coordinate. More...
|
|
void | TransformPoint (const double in[3], double out[3]) |
| Apply the transformation to a double-precision coordinate. More...
|
|
double * | TransformPoint (double x, double y, double z) |
| Apply the transformation to a double-precision coordinate. More...
|
|
double * | TransformPoint (const double point[3]) |
|
float * | TransformFloatPoint (float x, float y, float z) |
| Apply the transformation to an (x,y,z) coordinate. More...
|
|
float * | TransformFloatPoint (const float point[3]) |
|
double * | TransformDoublePoint (double x, double y, double z) |
| Apply the transformation to a double-precision (x,y,z) coordinate. More...
|
|
double * | TransformDoublePoint (const double point[3]) |
|
void | TransformNormalAtPoint (const float point[3], const float in[3], float out[3]) |
| Apply the transformation to a normal at the specified vertex. More...
|
|
void | TransformNormalAtPoint (const double point[3], const double in[3], double out[3]) |
|
double * | TransformNormalAtPoint (const double point[3], const double normal[3]) |
|
double * | TransformDoubleNormalAtPoint (const double point[3], const double normal[3]) |
| Apply the transformation to a double-precision normal at the specified vertex. More...
|
|
float * | TransformFloatNormalAtPoint (const float point[3], const float normal[3]) |
| Apply the transformation to a single-precision normal at the specified vertex. More...
|
|
void | TransformVectorAtPoint (const float point[3], const float in[3], float out[3]) |
| Apply the transformation to a vector at the specified vertex. More...
|
|
void | TransformVectorAtPoint (const double point[3], const double in[3], double out[3]) |
|
double * | TransformVectorAtPoint (const double point[3], const double vector[3]) |
|
double * | TransformDoubleVectorAtPoint (const double point[3], const double vector[3]) |
| Apply the transformation to a double-precision vector at the specified vertex. More...
|
|
float * | TransformFloatVectorAtPoint (const float point[3], const float vector[3]) |
| Apply the transformation to a single-precision vector at the specified vertex. More...
|
|
vtkAbstractTransform * | GetInverse () |
| Get the inverse of this transform. More...
|
|
void | SetInverse (vtkAbstractTransform *transform) |
| Set a transformation that this transform will be the inverse of. More...
|
|
void | DeepCopy (vtkAbstractTransform *) |
| Copy this transform from another of the same type. More...
|
|
void | Update () |
| Update the transform to account for any changes which have been made. More...
|
|
void | UnRegister (vtkObjectBase *O) override |
| Needs a special UnRegister() implementation to avoid circular references. More...
|
|
| vtkBaseTypeMacro (vtkObject, vtkObjectBase) |
|
virtual void | DebugOn () |
| Turn debugging output on. More...
|
|
virtual void | DebugOff () |
| Turn debugging output off. More...
|
|
bool | GetDebug () |
| Get the value of the debug flag. More...
|
|
void | SetDebug (bool debugFlag) |
| Set the value of the debug flag. More...
|
|
virtual void | Modified () |
| Update the modification time for this object. More...
|
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
|
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
|
vtkCommand * | GetCommand (unsigned long tag) |
|
void | RemoveObserver (vtkCommand *) |
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
|
void | RemoveObservers (const char *event, vtkCommand *) |
|
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
|
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
vtkTypeBool | HasObserver (unsigned long event) |
|
vtkTypeBool | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
|
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| Allow user to set the AbortFlagOn() with the return value of the callback method. More...
|
|
int | InvokeEvent (unsigned long event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. More...
|
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
| Return the class name as a string. More...
|
|
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
|
|
virtual void | Delete () |
| Delete a VTK object. More...
|
|
virtual void | FastDelete () |
| Delete a reference to this object. More...
|
|
void | InitializeObjectBase () |
|
void | Print (ostream &os) |
| Print an object to an ostream. More...
|
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
virtual void | Register (vtkObjectBase *o) |
| Increase the reference count (mark as used by another object). More...
|
|
int | GetReferenceCount () |
| Return the current reference count of this object. More...
|
|
void | SetReferenceCount (int) |
| Sets the reference count. More...
|
|
void | PrintRevisions (ostream &) |
| Legacy. More...
|
|
describes linear transformations via a 4x4 matrix
A vtkTransform can be used to describe the full range of linear (also known as affine) coordinate transformations in three dimensions, which are internally represented as a 4x4 homogeneous transformation matrix. When you create a new vtkTransform, it is always initialized to the identity transformation.
The SetInput() method allows you to set another transform, instead of the identity transform, to be the base transformation. There is a pipeline mechanism to ensure that when the input is modified, the current transformation will be updated accordingly. This pipeline mechanism is also supported by the Concatenate() method.
Most of the methods for manipulating this transformation, e.g. Translate, Rotate, and Concatenate, can operate in either PreMultiply (the default) or PostMultiply mode. In PreMultiply mode, the translation, concatenation, etc. will occur before any transformations which are represented by the current matrix. In PostMultiply mode, the additional transformation will occur after any transformations represented by the current matrix.
This class performs all of its operations in a right handed coordinate system with right handed rotations. Some other graphics libraries use left handed coordinate systems and rotations.
- See also
- vtkPerspectiveTransform vtkGeneralTransform vtkMatrix4x4 vtkTransformCollection vtkTransformFilter vtkTransformPolyDataFilter vtkImageReslice
Definition at line 54 of file vtkTransform.h.