00001 /* $Id: ssGatherStrikes.h,v 1.9 2005/10/26 12:13:31 pfb Exp $ */ 00002 00003 #ifndef _ssGatherStrikes_h 00004 #define _ssGatherStrikes_h 00005 00010 #include <vtkPolyDataToPolyDataFilter.h> 00011 #include "BeamPoint.h" 00012 #include "PingPoint.h" 00013 #include <vector> 00014 00015 class ssInstrumentParameters; 00016 00021 class VTK_EXPORT ssGatherStrikes : public vtkPolyDataToPolyDataFilter 00022 { 00023 //**************************************************************************** 00024 public: 00030 static ssGatherStrikes *New(); 00031 00035 vtkTypeMacro(ssGatherStrikes, vtkPolyDataToPolyDataFilter); 00036 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00048 void SetLineInput(vtkPolyData *input); 00049 00054 vtkPolyData *GetLineInput() const; 00055 00060 void instrumentParameters(const ssInstrumentParameters *instrument); 00061 00066 bool eof() const; 00067 00068 //**************************************************************************** 00069 protected: 00070 00074 ssGatherStrikes(); 00075 00079 ~ssGatherStrikes(); 00080 00084 void Execute(); 00085 00086 //**************************************************************************** 00087 private: 00091 ssGatherStrikes(const ssGatherStrikes&); 00092 ssGatherStrikes& operator=(const ssGatherStrikes&); 00093 00094 vtkPolyData *line_input; 00095 const ssInstrumentParameters *instrument; 00096 double *beamtheta; 00097 double *tanbeamtheta; 00098 bool dirty; 00099 int cur_ping; 00100 std::vector<BeamPoint> output_points; 00101 std::vector<BeamPoint>::iterator cur_beam_itr; 00102 std::vector<PingPoint> output_pings; 00103 std::vector<PingPoint>::iterator cur_ping_itr; 00104 bool eofflag; 00105 }; 00106 00107 /* 00108 * $Log: ssGatherStrikes.h,v $ 00109 * Revision 1.9 2005/10/26 12:13:31 pfb 00110 * Fixed doxygen tags. 00111 * 00112 * Revision 1.8 2005/06/10 07:49:02 pfb 00113 * Changes made as a result of dev. machine update from woody to sarge. 00114 * Most of the changes are because of the upgrade from gcc-2.95 to gcc-3.3. 00115 * 00116 * Revision 1.7 2005/05/11 11:40:12 pfb 00117 * Added module info. 00118 * 00119 * Revision 1.6 2001/12/11 11:57:30 pfb 00120 * Updated algorithm. It is probably not correct but need to move on to the 00121 * reader. Will return to this. 00122 * 00123 * Revision 1.5 2001/12/08 16:54:39 pfb 00124 * Re-did Execute(). 00125 * 00126 * Revision 1.4 2001/11/30 11:14:42 pfb 00127 * Work in progress. 00128 * 00129 * Revision 1.3 2001/11/24 09:14:02 pfb 00130 * Work in progress. 00131 * 00132 * Revision 1.2 2001/11/17 09:55:37 pfb 00133 * Work in progress. 00134 * 00135 * Revision 1.1 2001/11/16 09:57:58 pfb 00136 * Work in progress. 00137 * 00138 * 00139 */ 00140 00144 #endif