#include <vtkWarpTransform.h>
vtkWarpTransform provides a generic interface for nonlinear warp transformations.
Definition at line 29 of file vtkWarpTransform.h.
Public Types | |
typedef vtkAbstractTransform | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
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 vtkWarpTransform * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
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 |
Reimplemented from vtkAbstractTransform.
Reimplemented in vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
Definition at line 33 of file vtkWarpTransform.h.
vtkWarpTransform::vtkWarpTransform | ( | ) | [protected] |
vtkWarpTransform::~vtkWarpTransform | ( | ) | [protected] |
virtual const char* vtkWarpTransform::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkAbstractTransform.
Reimplemented in vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkAbstractTransform.
Reimplemented in vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkAbstractTransform.
Reimplemented in vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
static vtkWarpTransform* vtkWarpTransform::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkAbstractTransform.
Reimplemented in vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
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 vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
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.
virtual double vtkWarpTransform::GetInverseTolerance | ( | ) | [virtual] |
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.
virtual int vtkWarpTransform::GetInverseIterations | ( | ) | [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.
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 85 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 87 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 89 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 92 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 95 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 97 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 99 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 102 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 vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
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 vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
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 vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
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 vtkCylindricalTransform, vtkSphericalTransform, vtkGridTransform, and vtkThinPlateSplineTransform.
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 vtkCylindricalTransform, vtkSphericalTransform, and vtkGridTransform.
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 vtkCylindricalTransform, vtkSphericalTransform, and vtkGridTransform.
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 vtkCylindricalTransform, vtkSphericalTransform, and vtkGridTransform.
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 vtkCylindricalTransform, vtkSphericalTransform, and vtkGridTransform.
int vtkWarpTransform::InverseFlag [protected] |
Definition at line 144 of file vtkWarpTransform.h.
int vtkWarpTransform::InverseIterations [protected] |
Definition at line 145 of file vtkWarpTransform.h.
double vtkWarpTransform::InverseTolerance [protected] |
Definition at line 146 of file vtkWarpTransform.h.