00001
00002
00007 class VTK_EXPORT ssMultibeamSDFModule : public vtkKWObject
00008 {
00009
00010 public:
00011
00017 static ssMultibeamSDFModule *New();
00018
00022 vtkTypeMacro(ssMultibeamSDFModule,
00023 vtkKWObject);
00024
00030 void PrintSelf(ostream& os, vtkIndent indent);
00031
00036 void SdfProcess(vtkMultiProcessController *controller);
00037
00041 vtkMultiProcessController *Process() const;
00042
00043
00044 protected:
00045
00049 ssMultibeamSDFModule();
00050
00054 ~ssMultibeamSDFModule();
00055
00059 vtkMultiProcessController *controller;
00060
00064 vtkInputPortBuffer *navPort;
00065
00069 vtkInputPortBuffer *bathyPort;
00070
00074 vtkInputPortBuffer *attitudePort;
00075
00079 vtkInputPortBuffer *tidePort;
00080
00084 vtkInputPortBuffer *velocimeterPort;
00085
00089 vtkInputPortBuffer *tempPort;
00090
00094 ssPolyDatatoPlanStaticFilter *planFilter;
00095
00099 ssPolyDatatoBathymetryScrollFilter *alongFilter;
00100
00104 ssPolyDatatoBathymetryScrollFilter *acrossFilter;
00105
00109 ssPolyDatatoAttitudeScrollFilter *rollFilter;
00110
00114 ssPolyDatatoAttitudeScrollFilter *pitchFilter;
00115
00116
00117 private:
00118
00122 ssMultibeamSDFModule(const ssMultibeamSDFModule& rhs);
00123 ssMultibeamSDFModule& operator=(const ssMultibeamSDFModule& rhs);
00124
00128 void GUIProcess();
00129
00133 void SDFProcess();
00134
00138 void UpdateBathymetrySDF();
00139
00143 void UpdateAttitudeSDF();
00144
00148 void UpdateNavigationSDF();
00149
00153 void UpdateTideSDF();
00154
00158 void UpdateVelocimeterSDF();
00159
00163 void UpdateTemperatureSDF();
00164
00165 friend void ssMultibeamSDFModule_NavigationDAVRMI(void *,
00166 void *,
00167 int,
00168 int);
00169 friend void ssMultibeamSDFModule_BathymetryDAVRMI(void *,
00170 void *,
00171 int,
00172 int);
00173 friend void ssMultibeamSDFModule_AttitudeDAVRMI(void *,
00174 void *,
00175 int,
00176 int);
00177 friend void ssMultibeamSDFModule_TideDAVRMI(void *,
00178 void *,
00179 int,
00180 int);
00181 friend void ssMultibeamSDFModule_VelocimeterDAVRMI(void *,
00182 void *,
00183 int,
00184 int);
00185 friend void ssMultibeamSDFModule_TemperatureDAVRMI(void *,
00186 void *,
00187 int,
00188 int);
00189 friend void GUIProcess(vtkMultiProcessController *, void *);
00190 friend void SDFProcess(vtkMultiProcessController *, void *);
00191
00192 ssMultibeamLWWindow *toplevel;
00193 };
00194
00195
00196
00197
00205 void ssMultibeamSDFModule_NavigationDAVRMI(void *localArg,
00206 void *vtkNotUsed(remoteArg),
00207 int vtkNotUsed(remoteArgLength),
00208 int remoteProcessId);
00209
00217 void ssMultibeamSDFModule_BathymetryDAVRMI(void *localArg,
00218 void *vtkNotUsed(remoteArg),
00219 int vtkNotUsed(remoteArgLength),
00220 int remoteProcessId);
00221
00229 void ssMultibeamSDFModule_AttitudeDAVRMI(void *localArg,
00230 void *vtkNotUsed(remoteArg),
00231 int vtkNotUsed(remoteArgLength),
00232 int remoteProcessId);
00233
00241 void ssMultibeamSDFModule_TideDAVRMI(void *localArg,
00242 void *vtkNotUsed(remoteArg),
00243 int vtkNotUsed(remoteArgLength),
00244 int remoteProcessId);
00245
00253 void ssMultibeamSDFModule_VelocimeterDAVRMI(void *localArg,
00254 void *vtkNotUsed(remoteArg),
00255 int vtkNotUsed(remoteArgLength),
00256 int remoteProcessId);
00257
00265 void ssMultibeamSDFModule_TemperatureDAVRMI(void *localArg,
00266 void *vtkNotUsed(remoteArg),
00267 int vtkNotUsed(remoteArgLength),
00268 int remoteProcessId);
00269
00270
00271
00272
00273
00274