39 #ifndef vtkThinPlateSplineTransform_h
40 #define vtkThinPlateSplineTransform_h
42 #include "vtkCommonTransformsModule.h"
45 #define VTK_RBF_CUSTOM 0
47 #define VTK_RBF_R2LOGR 2
60 vtkGetMacro(Sigma,
double);
72 void SetBasis(
int basis);
73 vtkGetMacro(Basis,
int);
76 const char *GetBasisAsString();
85 if (this->BasisFunction == U) {
return; }
87 this->BasisFunction = U;
90 this->BasisDerivative = dUdr;
101 vtkGetObjectMacro(SourceLandmarks,
vtkPoints);
111 vtkGetObjectMacro(TargetLandmarks,
vtkPoints);
126 ~vtkThinPlateSplineTransform() VTK_OVERRIDE;
131 void InternalUpdate() VTK_OVERRIDE;
138 void ForwardTransformPoint(const
float in[3],
float out[3]) VTK_OVERRIDE;
139 void ForwardTransformPoint(const
double in[3],
double out[3]) VTK_OVERRIDE;
141 void ForwardTransformDerivative(const
float in[3],
float out[3],
142 float derivative[3][3]) VTK_OVERRIDE;
143 void ForwardTransformDerivative(const
double in[3],
double out[3],
144 double derivative[3][3]) VTK_OVERRIDE;
151 double (*BasisFunction)(
double r);
152 double (*BasisDerivative)(
double r,
double& dUdr);
159 vtkThinPlateSplineTransform(const vtkThinPlateSplineTransform&) VTK_DELETE_FUNCTION;
160 void operator=(const vtkThinPlateSplineTransform&) VTK_DELETE_FUNCTION;
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkTypeUInt32 vtkMTimeType
a simple class to control print indentation
virtual void Modified()
Update the modification time for this object.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3D points