00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00031 #ifndef __vtkGeoSphereTransform_h
00032 #define __vtkGeoSphereTransform_h
00033
00034 #include "vtkAbstractTransform.h"
00035
00036 class vtkGeoProjection;
00037
00038 class VTK_GEOVIS_EXPORT vtkGeoSphereTransform : public vtkAbstractTransform
00039 {
00040 public:
00041 static vtkGeoSphereTransform* New();
00042 virtual void PrintSelf( ostream& os, vtkIndent indent );
00043 vtkTypeMacro(vtkGeoSphereTransform,vtkAbstractTransform);
00044
00046 virtual void Inverse();
00047
00049
00051 virtual void InternalTransformPoint( const float in[3], float out[3] );
00052 virtual void InternalTransformPoint( const double in[3], double out[3] );
00054
00056
00060 virtual void InternalTransformDerivative( const float in[3], float out[3], float derivative[3][3] );
00061 virtual void InternalTransformDerivative( const double in[3], double out[3], double derivative[3][3] );
00063
00065 virtual vtkAbstractTransform* MakeTransform();
00066
00068
00072 vtkSetMacro(ToRectangular, bool);
00073 vtkGetMacro(ToRectangular, bool);
00074 vtkBooleanMacro(ToRectangular, bool);
00076
00078
00080 vtkSetMacro(BaseAltitude, double);
00081 vtkGetMacro(BaseAltitude, double);
00083
00084 protected:
00085 vtkGeoSphereTransform();
00086 virtual ~vtkGeoSphereTransform();
00087
00088 bool ToRectangular;
00089 double BaseAltitude;
00090
00091 private:
00092 vtkGeoSphereTransform( const vtkGeoSphereTransform& );
00093 void operator = ( const vtkGeoSphereTransform& );
00094 };
00095
00096 #endif // __vtkGeoSphereTransform_h