00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00037 #ifndef __vtkSphericalTransform_h
00038 #define __vtkSphericalTransform_h
00039
00040 #include "vtkWarpTransform.h"
00041
00042 class VTK_COMMON_EXPORT vtkSphericalTransform : public vtkWarpTransform
00043 {
00044 public:
00045 static vtkSphericalTransform *New();
00046 vtkTypeMacro(vtkSphericalTransform,vtkWarpTransform);
00047 virtual void PrintSelf(ostream& os, vtkIndent indent);
00048
00050 vtkAbstractTransform *MakeTransform();
00051
00052 protected:
00053 vtkSphericalTransform();
00054 ~vtkSphericalTransform();
00055
00057 void InternalDeepCopy(vtkAbstractTransform *transform);
00058
00060
00061 void ForwardTransformPoint(const float in[3], float out[3]);
00062 void ForwardTransformPoint(const double in[3], double out[3]);
00064
00065 void ForwardTransformDerivative(const float in[3], float out[3],
00066 float derivative[3][3]);
00067 void ForwardTransformDerivative(const double in[3], double out[3],
00068 double derivative[3][3]);
00069
00070 void InverseTransformPoint(const float in[3], float out[3]);
00071 void InverseTransformPoint(const double in[3], double out[3]);
00072
00073 void InverseTransformDerivative(const float in[3], float out[3],
00074 float derivative[3][3]);
00075 void InverseTransformDerivative(const double in[3], double out[3],
00076 double derivative[3][3]);
00077
00078 private:
00079 vtkSphericalTransform(const vtkSphericalTransform&);
00080 void operator=(const vtkSphericalTransform&);
00081 };
00082
00083 #endif
00084