00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00031 #ifndef __vtkGeoSampleArcs_h
00032 #define __vtkGeoSampleArcs_h
00033 
00034 #include "vtkPolyDataAlgorithm.h"
00035 
00036 class VTK_GEOVIS_EXPORT vtkGeoSampleArcs : public vtkPolyDataAlgorithm 
00037 {
00038 public:
00039   static vtkGeoSampleArcs *New();
00040 
00041   vtkTypeMacro(vtkGeoSampleArcs,vtkPolyDataAlgorithm);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043 
00045 
00048   vtkSetMacro(GlobeRadius, double);
00049   vtkGetMacro(GlobeRadius, double);
00051 
00053 
00054   vtkSetMacro(MaximumDistanceMeters, double);
00055   vtkGetMacro(MaximumDistanceMeters, double);
00057 
00058   
00059   enum
00060     {
00061     RECTANGULAR,
00062     SPHERICAL
00063     };
00064   
00065 
00067 
00069   vtkSetMacro(InputCoordinateSystem, int);
00070   vtkGetMacro(InputCoordinateSystem, int);
00071   virtual void SetInputCoordinateSystemToRectangular()
00072     { this->SetInputCoordinateSystem(RECTANGULAR); }
00073   virtual void SetInputCoordinateSystemToSpherical()
00074     { this->SetInputCoordinateSystem(SPHERICAL); }
00076 
00078 
00081   vtkSetMacro(OutputCoordinateSystem, int);
00082   vtkGetMacro(OutputCoordinateSystem, int);
00083   virtual void SetOutputCoordinateSystemToRectangular()
00084     { this->SetOutputCoordinateSystem(RECTANGULAR); }
00085   virtual void SetOutputCoordinateSystemToSpherical()
00086     { this->SetOutputCoordinateSystem(SPHERICAL); }
00088   
00089 protected:
00090   vtkGeoSampleArcs();
00091   ~vtkGeoSampleArcs();
00092 
00094   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00095   
00096   double GlobeRadius;
00097   double MaximumDistanceMeters;
00098   int InputCoordinateSystem;
00099   int OutputCoordinateSystem;
00100   
00101 private:
00102   vtkGeoSampleArcs(const vtkGeoSampleArcs&);  
00103   void operator=(const vtkGeoSampleArcs&);  
00104 };
00105 
00106 #endif