VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkWarpTransform Class Reference

superclass for nonlinear geometric transformations More...

#include <vtkWarpTransform.h>

Inheritance diagram for vtkWarpTransform:
Inheritance graph
[legend]
Collaboration diagram for vtkWarpTransform:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkAbstractTransform Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkWarpTransformNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void Inverse ()
virtual int GetInverseFlag ()
virtual void SetInverseTolerance (double)
virtual double GetInverseTolerance ()
virtual void SetInverseIterations (int)
virtual int GetInverseIterations ()
void InternalTransformPoint (const float in[3], float out[3])
void InternalTransformPoint (const double in[3], double out[3])
void InternalTransformDerivative (const float in[3], float out[3], float derivative[3][3])
void InternalTransformDerivative (const double in[3], double out[3], double derivative[3][3])
void TemplateTransformPoint (const float in[3], float out[3])
void TemplateTransformPoint (const double in[3], double out[3])
void TemplateTransformPoint (const float in[3], float out[3], float derivative[3][3])
void TemplateTransformPoint (const double in[3], double out[3], double derivative[3][3])
void TemplateTransformInverse (const float in[3], float out[3])
void TemplateTransformInverse (const double in[3], double out[3])
void TemplateTransformInverse (const float in[3], float out[3], float derivative[3][3])
void TemplateTransformInverse (const double in[3], double out[3], double derivative[3][3])

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkWarpTransformSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkWarpTransform ()
 ~vtkWarpTransform ()
virtual void ForwardTransformPoint (const float in[3], float out[3])=0
virtual void ForwardTransformPoint (const double in[3], double out[3])=0
virtual void ForwardTransformDerivative (const float in[3], float out[3], float derivative[3][3])=0
virtual void ForwardTransformDerivative (const double in[3], double out[3], double derivative[3][3])=0
virtual void InverseTransformPoint (const float in[3], float out[3])
virtual void InverseTransformPoint (const double in[3], double out[3])
virtual void InverseTransformDerivative (const float in[3], float out[3], float derivative[3][3])
virtual void InverseTransformDerivative (const double in[3], double out[3], double derivative[3][3])

Protected Attributes

int InverseFlag
int InverseIterations
double InverseTolerance

Detailed Description

superclass for nonlinear geometric transformations

vtkWarpTransform provides a generic interface for nonlinear warp transformations.

See also:
vtkThinPlateSplineTransform vtkGridTransform vtkGeneralTransform

Definition at line 30 of file vtkWarpTransform.h.


Member Typedef Documentation


Constructor & Destructor Documentation


Member Function Documentation

static int vtkWarpTransform::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkAbstractTransform.

Reimplemented in vtkBSplineTransform, vtkThinPlateSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual int vtkWarpTransform::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkAbstractTransform.

Reimplemented in vtkBSplineTransform, vtkThinPlateSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual vtkObjectBase* vtkWarpTransform::NewInstanceInternal ( ) const [protected, virtual]
void vtkWarpTransform::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkAbstractTransform.

Reimplemented in vtkBSplineTransform, vtkThinPlateSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

void vtkWarpTransform::Inverse ( ) [virtual]

Invert the transformation. Warp transformations are usually inverted using an iterative technique such as Newton's method. The inverse transform is usually around five or six times as computationally expensive as the forward transform.

Implements vtkAbstractTransform.

virtual int vtkWarpTransform::GetInverseFlag ( ) [virtual]

Get the inverse flag of the transformation. This flag is set to zero when the transformation is first created, and is flipped each time Inverse() is called.

virtual void vtkWarpTransform::SetInverseTolerance ( double  ) [virtual]

Set the tolerance for inverse transformation. The default is 0.001.

Set the tolerance for inverse transformation. The default is 0.001.

virtual void vtkWarpTransform::SetInverseIterations ( int  ) [virtual]

Set the maximum number of iterations for the inverse transformation. The default is 500, but usually only 2 to 5 iterations are used. The inversion method is fairly robust, and it should converge for nearly all smooth transformations that do not fold back on themselves.

Set the maximum number of iterations for the inverse transformation. The default is 500, but usually only 2 to 5 iterations are used. The inversion method is fairly robust, and it should converge for nearly all smooth transformations that do not fold back on themselves.

void vtkWarpTransform::InternalTransformPoint ( const float  in[3],
float  out[3] 
) [virtual]

This will calculate the transformation without calling Update. Meant for use only within other VTK classes.

Implements vtkAbstractTransform.

void vtkWarpTransform::InternalTransformPoint ( const double  in[3],
double  out[3] 
) [virtual]

This will calculate the transformation without calling Update. Meant for use only within other VTK classes.

Implements vtkAbstractTransform.

void vtkWarpTransform::InternalTransformDerivative ( const float  in[3],
float  out[3],
float  derivative[3][3] 
) [virtual]

This will calculate the transformation, as well as its derivative without calling Update. Meant for use only within other VTK classes.

Implements vtkAbstractTransform.

void vtkWarpTransform::InternalTransformDerivative ( const double  in[3],
double  out[3],
double  derivative[3][3] 
) [virtual]

This will calculate the transformation, as well as its derivative without calling Update. Meant for use only within other VTK classes.

Implements vtkAbstractTransform.

void vtkWarpTransform::TemplateTransformPoint ( const float  in[3],
float  out[3] 
) [inline]

Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)

Definition at line 86 of file vtkWarpTransform.h.

void vtkWarpTransform::TemplateTransformPoint ( const double  in[3],
double  out[3] 
) [inline]

Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)

Definition at line 88 of file vtkWarpTransform.h.

void vtkWarpTransform::TemplateTransformPoint ( const float  in[3],
float  out[3],
float  derivative[3][3] 
) [inline]

Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)

Definition at line 90 of file vtkWarpTransform.h.

void vtkWarpTransform::TemplateTransformPoint ( const double  in[3],
double  out[3],
double  derivative[3][3] 
) [inline]

Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)

Definition at line 93 of file vtkWarpTransform.h.

void vtkWarpTransform::TemplateTransformInverse ( const float  in[3],
float  out[3] 
) [inline]

Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)

Definition at line 96 of file vtkWarpTransform.h.

void vtkWarpTransform::TemplateTransformInverse ( const double  in[3],
double  out[3] 
) [inline]

Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)

Definition at line 98 of file vtkWarpTransform.h.

void vtkWarpTransform::TemplateTransformInverse ( const float  in[3],
float  out[3],
float  derivative[3][3] 
) [inline]

Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)

Definition at line 100 of file vtkWarpTransform.h.

void vtkWarpTransform::TemplateTransformInverse ( const double  in[3],
double  out[3],
double  derivative[3][3] 
) [inline]

Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)

Definition at line 103 of file vtkWarpTransform.h.

virtual void vtkWarpTransform::ForwardTransformPoint ( const float  in[3],
float  out[3] 
) [protected, pure virtual]

If the InverseFlag is set to 0, then a call to InternalTransformPoint results in a call to ForwardTransformPoint.

Implemented in vtkThinPlateSplineTransform, vtkBSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual void vtkWarpTransform::ForwardTransformPoint ( const double  in[3],
double  out[3] 
) [protected, pure virtual]

If the InverseFlag is set to 0, then a call to InternalTransformPoint results in a call to ForwardTransformPoint.

Implemented in vtkThinPlateSplineTransform, vtkBSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual void vtkWarpTransform::ForwardTransformDerivative ( const float  in[3],
float  out[3],
float  derivative[3][3] 
) [protected, pure virtual]

Calculate the forward transform as well as the derivative.

Implemented in vtkThinPlateSplineTransform, vtkBSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual void vtkWarpTransform::ForwardTransformDerivative ( const double  in[3],
double  out[3],
double  derivative[3][3] 
) [protected, pure virtual]

Calculate the forward transform as well as the derivative.

Implemented in vtkThinPlateSplineTransform, vtkBSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual void vtkWarpTransform::InverseTransformPoint ( const float  in[3],
float  out[3] 
) [protected, virtual]

If the InverseFlag is set to 1, then a call to InternalTransformPoint results in a call to InverseTransformPoint. The inverse transformation is calculated from using Newton's method.

Reimplemented in vtkBSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual void vtkWarpTransform::InverseTransformPoint ( const double  in[3],
double  out[3] 
) [protected, virtual]

If the InverseFlag is set to 1, then a call to InternalTransformPoint results in a call to InverseTransformPoint. The inverse transformation is calculated from using Newton's method.

Reimplemented in vtkBSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual void vtkWarpTransform::InverseTransformDerivative ( const float  in[3],
float  out[3],
float  derivative[3][3] 
) [protected, virtual]

Calculate the inverse transform as well as the derivative of the forward transform (that's correct: the derivative of the forward transform, not of the inverse transform)

Reimplemented in vtkBSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.

virtual void vtkWarpTransform::InverseTransformDerivative ( const double  in[3],
double  out[3],
double  derivative[3][3] 
) [protected, virtual]

Calculate the inverse transform as well as the derivative of the forward transform (that's correct: the derivative of the forward transform, not of the inverse transform)

Reimplemented in vtkBSplineTransform, vtkGridTransform, vtkSphericalTransform, and vtkCylindricalTransform.


Member Data Documentation

Definition at line 145 of file vtkWarpTransform.h.

Definition at line 146 of file vtkWarpTransform.h.

Definition at line 147 of file vtkWarpTransform.h.


The documentation for this class was generated from the following file: