ssMultibeamProcess Class Reference
[C++/Mechanization/SwathInstrument/Multibeam]

The purpose of this class is to encapsulate the Multibeam process from the instrument data input to, but not including, the vtkPolyDataMapper. More...

#include <ssMultibeamProcess.h>

Inheritance diagram for ssMultibeamProcess:

Inheritance graph
[legend]
Collaboration diagram for ssMultibeamProcess:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ProcessNumber {
  FRONTEND_PROCESS = 1, BACKEND_PROCESS = 2, GUI_PROCESS = 0, SDF_PROCESS = 3,
  INSTRUMENT_MONITOR_PROCESS = 4, LAST_PROCESS
}
 The process numbers. More...
enum  OutputTag {
  BATHYMETRY = 100, ATTITUDE = ssMultibeamProcess::BATHYMETRY + 4, NAVIGATION = ssMultibeamProcess::ATTITUDE + 4, TIDE = ssMultibeamProcess::NAVIGATION + 4,
  VELOCIMETER = ssMultibeamProcess::TIDE + 4, TEMPERATURE = ssMultibeamProcess::VELOCIMETER + 4, LAST_STREAM
}
 vtkOutputPort Tags More...
enum  NoficationTag {
  BATHYMETRY_DAV = 200, ATTITUDE_DAV, NAVIGATION_DAV, TIDE_DAV,
  VELOCIMETER_DAV, TEMPERATURE_DAV, LAST_STREAM_DAV
}
 Tags used by the instrument to indicate data avaliable to down stream objects - e.g. More...
enum  MonitorTag { TERMINATE_RMI, LAST_MONITOR_RMI }
 Tags used by various processes to signal ssMultibeamProcessMonitor. More...

Public Member Functions

 vtkTypeMacro (ssMultibeamProcess, vtkObject)
void PrintSelf (ostream &os, vtkIndent indent)
 Print the internal state.
vtkMultiProcessControllerController () const
 Give the Controller.
virtual void Run ()
 Run the process.
MultibeamInstrumentInstrument () const
 Give the current MultibeamInstrument.
MultibeamBackEndBackEnd () const
 Give the current back end.
ssMultibeamLWApplicationUi () const
 Give the current UI.
ssMultibeamProcessMonitorProcessMonitor () const
 Give the current process monitor.
virtual void notify ()
 The routine is called by a Subject to notify this object for the need for attention.
virtual void Delete ()
 Handle the singleton aspects of this object.

Static Public Member Functions

static ssMultibeamProcessNew ()
 Construct a new object of this class.
static void Run (vtkMultiProcessController *controller, void *vtkNotUsed(arg))
 Start the process.

Protected Member Functions

 ssMultibeamProcess ()
 Ctor.
virtual ~ssMultibeamProcess ()
 Dtor.

Detailed Description

The purpose of this class is to encapsulate the Multibeam process from the instrument data input to, but not including, the vtkPolyDataMapper.

This class contains all the object, command and control necessary to run the process and may be used by agents to interface and control these objects and processes.

Only one object of this type may exist on the system at a time. This obect is a singleton.

Definition at line 35 of file ssMultibeamProcess.h.


Member Enumeration Documentation

enum ssMultibeamProcess::ProcessNumber

The process numbers.

Enumerator:
FRONTEND_PROCESS 
BACKEND_PROCESS 
GUI_PROCESS 
SDF_PROCESS 
INSTRUMENT_MONITOR_PROCESS 
LAST_PROCESS 

Definition at line 79 of file ssMultibeamProcess.h.

enum ssMultibeamProcess::OutputTag

vtkOutputPort Tags

Enumerator:
BATHYMETRY 
ATTITUDE 
NAVIGATION 
TIDE 
VELOCIMETER 
TEMPERATURE 
LAST_STREAM 

Definition at line 94 of file ssMultibeamProcess.h.

enum ssMultibeamProcess::NoficationTag

Tags used by the instrument to indicate data avaliable to down stream objects - e.g.

BackEnd and Gui.

Enumerator:
BATHYMETRY_DAV 
ATTITUDE_DAV 
NAVIGATION_DAV 
TIDE_DAV 
VELOCIMETER_DAV 
TEMPERATURE_DAV 
LAST_STREAM_DAV 

Definition at line 111 of file ssMultibeamProcess.h.

enum ssMultibeamProcess::MonitorTag

Tags used by various processes to signal ssMultibeamProcessMonitor.

Enumerator:
TERMINATE_RMI 
LAST_MONITOR_RMI 

Definition at line 127 of file ssMultibeamProcess.h.


Constructor & Destructor Documentation

ssMultibeamProcess::ssMultibeamProcess (  )  [protected]

Ctor.

virtual ssMultibeamProcess::~ssMultibeamProcess (  )  [protected, virtual]

Dtor.


Member Function Documentation

static ssMultibeamProcess* ssMultibeamProcess::New (  )  [static]

Construct a new object of this class.

This is the only method that objects of this class may be brought into existance. The object returned is a singleton. I.e. if there is no object of this type in existance create one. Otherwise just give the existing one. In any case the reference count of the singleton object is incremented by this call and, therefore, a call to this object's Delete() is required before the reference goes out of scope.

Reimplemented from vtkAlgorithm.

ssMultibeamProcess::vtkTypeMacro ( ssMultibeamProcess  ,
vtkObject   
)

void ssMultibeamProcess::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Print the internal state.

Parameters:
os The destination stream.
indent The indentation to use.

Reimplemented from vtkProcessObject.

vtkMultiProcessController* ssMultibeamProcess::Controller (  )  const

Give the Controller.

In reality this is a vtkThreadedController.

Returns:
The Controller in use: 0 if none.

virtual void ssMultibeamProcess::Run (  )  [virtual]

Run the process.

This function will return only when vtkOutputPort::WaitForUpdate() returns.

MultibeamInstrument* ssMultibeamProcess::Instrument (  )  const

Give the current MultibeamInstrument.

Returns:
The Instrument.

MultibeamBackEnd* ssMultibeamProcess::BackEnd (  )  const

Give the current back end.

Returns:
The back end.

ssMultibeamLWApplication* ssMultibeamProcess::Ui (  )  const

Give the current UI.

Returns:
The UI.

ssMultibeamProcessMonitor* ssMultibeamProcess::ProcessMonitor (  )  const

Give the current process monitor.

virtual void ssMultibeamProcess::notify (  )  [virtual]

The routine is called by a Subject to notify this object for the need for attention.

Reimplemented from Observer.

virtual void ssMultibeamProcess::Delete (  )  [virtual]

Handle the singleton aspects of this object.

In all other respects Delete() in the normal manner.

Reimplemented from vtkObjectBase.

static void ssMultibeamProcess::Run ( vtkMultiProcessController controller,
void *  vtkNotUsed(arg) 
) [static]

Start the process.

Parameters:
controller This process's controller.


The documentation for this class was generated from the following file: