VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkGeoSampleArcs.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 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 //BTX 00059 enum 00060 { 00061 RECTANGULAR, 00062 SPHERICAL 00063 }; 00064 //ETX 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&); // Not implemented. 00103 void operator=(const vtkGeoSampleArcs&); // Not implemented. 00104 }; 00105 00106 #endif