00001 /* $Id: ssGenerateSwath.h,v 1.6 2005/06/10 07:49:02 pfb Exp $ */ 00002 00003 #ifndef ssGenerateSwath_h 00004 #define ssGenerateSwath_h 00005 00010 #include <vtkPolyDataReader.h> 00011 #include <vtkCamera.h> 00012 #include <vector> 00013 00019 class ssInstrumentParameters; 00020 00021 class VTK_EXPORT ssGenerateSwath : public vtkPolyDataReader 00022 { 00023 //**************************************************************************** 00024 public: 00025 00030 static ssGenerateSwath *New(); 00031 00032 vtkTypeMacro(ssGenerateSwath, vtkPolyDataReader); 00033 00038 void InstrumentParameters(const ssInstrumentParameters *parameters); 00039 00046 void transducer(double x, double y, double z); 00047 00057 void attitude(double heading, double pitch, double roll); 00058 00064 void PrintSelf(ostream& os, vtkIndent indent); 00065 00069 virtual void DebugOn(); 00070 00074 virtual void DebugOff(); 00075 00076 //**************************************************************************** 00077 protected: 00078 00082 void Execute(); 00083 00087 ssGenerateSwath(); 00088 00092 virtual ~ssGenerateSwath(); 00093 00094 //**************************************************************************** 00095 private: 00096 00100 ssGenerateSwath(const ssGenerateSwath&); 00101 ssGenerateSwath& operator=(const ssGenerateSwath&); 00102 00103 double _tx; 00104 double _ty; 00105 double _tz; 00106 double _heading; 00107 double _pitch; 00108 double _roll; 00109 const ssInstrumentParameters *_parameters; 00110 00111 std::vector<double> beam_theta; 00112 }; 00113 00117 #endif 00118