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