00001 /* $Id: MultibeamBackEnd.h,v 1.4 2008/09/16 02:42:17 pfb Exp $ */ 00002 #ifndef _MultibeamBackEnd_h 00003 #define _MultibeamBackEnd_h 00004 00010 #include "../../../../Common/Utility/Misc/GoNogo.h" 00011 #include <ss.h> 00012 #include <vtkPolyData.h> 00013 #include <vtkSource.h> 00014 #include <vtkObjectFactory.h> 00015 00016 class ssMultibeamProcess; 00017 class ssPolyDatatoBathymetryScrollFilter; 00018 class ssPolyDatatoAttitudeScrollFilter; 00019 class ssPolyDatatoPlanStaticFilter; 00020 class vtkInputPort; 00021 class vtkMultiProcessController; 00022 00030 class MultibeamBackEnd : public GoNogo, public vtkSource 00031 { 00032 //**************************************************************************** 00033 public: 00034 00039 static MultibeamBackEnd *New(); 00040 00041 vtkTypeMacro(MultibeamBackEnd, vtkSource); 00042 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00055 void Process(vtkMultiProcessController *controller, int frontend_pid); 00056 00061 vtkMultiProcessController *Process() const; 00062 00063 //**************************************************************************** 00064 protected: 00065 00069 MultibeamBackEnd(); 00070 00074 ~MultibeamBackEnd(); 00075 00079 virtual void Execute(); 00080 00084 vtkMultiProcessController *controller; 00085 00089 SMARTP(ssPolyDatatoBathymetryScrollFilter) bathyFilter; 00090 00094 SMARTP(ssPolyDatatoAttitudeScrollFilter) attitudeFilter; 00095 00099 SMARTP(ssPolyDatatoPlanStaticFilter) planFilter; 00100 00104 SMARTP(vtkInputPort) bathyInput; 00105 00109 SMARTP(vtkInputPort) attitudeInput; 00110 00114 SMARTP(vtkInputPort) planInput; 00115 00119 int frontend_pid; 00120 00121 //**************************************************************************** 00122 private: 00123 00127 MultibeamBackEnd(const MultibeamBackEnd& ); 00128 MultibeamBackEnd& operator=(const MultibeamBackEnd& ); 00129 00130 }; 00131 00132 /* 00133 * $Log: MultibeamBackEnd.h,v $ 00134 * Revision 1.4 2008/09/16 02:42:17 pfb 00135 * Updated to Smart Pointer. 00136 * 00137 * Revision 1.3 2005/06/30 12:59:56 pfb 00138 * Changed Process to take a vtkMultiProcessController. 00139 * 00140 * Revision 1.2 2005/05/10 17:08:02 pfb 00141 * Added module info. 00142 * 00143 * Revision 1.1 2005/04/21 04:22:11 pfb 00144 * Initial rev. 00145 * 00146 * 00147 */ 00148 00153 #endif