MultibeamInstrument Class Reference
[C++/Common/SwathInstrument/Multibeam]

This is the super class for all multibeam swath sonars. More...

#include <MultibeamInstrument.h>

Inheritance diagram for MultibeamInstrument:

Inheritance graph
[legend]
Collaboration diagram for MultibeamInstrument:

Collaboration graph
[legend]
List of all members.

Public Types

enum  OutputIndex {
  BATHYMETRY, ATTITUDE, NAVIGATION, TIDE,
  VELOCIMETER, TEMPERATURE
}

Public Member Functions

 vtkTypeMacro (MultibeamInstrument, vtkSource)
void PrintSelf (ostream &os, vtkIndent indent)
 Print the internal state.
virtual void SetFileName (const char *path)
 Do nothing.
void Process (SMARTP(vtkMultiProcessController) controller)
 Specify the Process (if any) that runs this Instrument.
 SMARTP (vtkMultiProcessController) Process() const
 Give the Process (if any) that runs this Instrument.
void Initialize ()
 Initialize the object by configuring the IPC elements.
 SMARTP (vtkPolyData) GetOutput()
 Give output 0.
 SMARTP (vtkPolyData) GetOutput(OutputIndex level)
 Give a specified output.
 SMARTP (vtkPolyData) BathymetryOutput()
 Give the bathymetry output.
 SMARTP (vtkPolyData) AttitudeOutput()
 Give the attitude output.
 SMARTP (vtkPolyData) NavigationOutput()
 Give the navigation output.
 SMARTP (vtkPolyData) TideOutput()
 Give the tide output.
 SMARTP (vtkPolyData) VelocimeterOutput()
 Give the velocimeter output.
 SMARTP (vtkPolyData) TemperatureOutput()
 Give the temperature output.
virtual void Update ()
 Update this object with respect to the input.
virtual void Tickle ()
 Do nothing.
virtual bool PopRecord ()
 Indicate whether there is a record of any type to process.

Static Public Member Functions

static MultibeamInstrumentNew ()
 Construct a new object of this class.

Protected Member Functions

 MultibeamInstrument ()
 Ctor.
 ~MultibeamInstrument ()
 Dtor.
virtual void Execute ()
 Execute the dataflow.
virtual void ReadInputRecord ()
 Get the nextInputRecord.
void ComputeInputUpdateExtents (vtkDataObject *data)
 Compute the input extents.

Protected Attributes

int ExecutePiece
int ExecuteNumberOfPieces
int ExecuteGhostLevel
vtkMultiProcessControllercontroller
 The process controller.

Detailed Description

This is the super class for all multibeam swath sonars.

The classes derived from this class will implement the functionality for the specific instruments.

The main purpose of this super class is to specify the API for a virtual multibeam instrument. There are some data that are required by the downstream dataflow and derived classes must provide these. In Addition there are some data that it may be usefull to provide and the derived classes may provide these.

Data that must be provided are:

Data that may optionally be supplied are:

In general, objects of this class are not synchronized with respect to the input data. Synchronization is achieved by an external agent calling this object's Update() the appropiate number of times. This will cause the synchronization of this object to the input and the synchroniztion of down stream objects to this object.

Definition at line 55 of file MultibeamInstrument.h.


Member Enumeration Documentation

enum MultibeamInstrument::OutputIndex

Enumerator:
BATHYMETRY 
ATTITUDE 
NAVIGATION 
TIDE 
VELOCIMETER 
TEMPERATURE 

Definition at line 60 of file MultibeamInstrument.h.


Constructor & Destructor Documentation

MultibeamInstrument::MultibeamInstrument (  )  [protected]

Ctor.

MultibeamInstrument::~MultibeamInstrument (  )  [protected]

Dtor.


Member Function Documentation

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

Construct a new object of this class.

This is the only method that objects of this class may be brought into existance.

Reimplemented from vtkAlgorithm.

Reimplemented in PolyDataInstrument.

MultibeamInstrument::vtkTypeMacro ( MultibeamInstrument  ,
vtkSource   
)

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

Print the internal state.

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

Reimplemented from vtkSource.

Reimplemented in PolyDataInstrument.

virtual void MultibeamInstrument::SetFileName ( const char *  path  )  [virtual]

Do nothing.

This function is meant to be overloaded if necessary.

Parameters:
path The FQPN of the input file.

Reimplemented in PolyDataInstrument.

void MultibeamInstrument::Process ( SMARTP(vtkMultiProcessController controller  ) 

Specify the Process (if any) that runs this Instrument.

Parameters:
controller The process controller.

MultibeamInstrument::SMARTP ( vtkMultiProcessController   )  const

Give the Process (if any) that runs this Instrument.

Returns:
The process controller: 0 if none.

void MultibeamInstrument::Initialize (  ) 

Initialize the object by configuring the IPC elements.

MultibeamInstrument::SMARTP ( vtkPolyData   ) 

Give output 0.

This is the bathymetry output.

Returns:
Bathymetry output.

MultibeamInstrument::SMARTP ( vtkPolyData   ) 

Give a specified output.

Parameters:
level The output in question.
Returns:
The specified output.

MultibeamInstrument::SMARTP ( vtkPolyData   ) 

Give the bathymetry output.

Returns:
The bathymetry output. Data from this port consists of bathymetry as x, y ,z points and line data illustrating the swaths.

MultibeamInstrument::SMARTP ( vtkPolyData   ) 

Give the attitude output.

Returns:
The attitude output. Data from this port consists of points as x, y and the attitude as vectors with pitch as x, roll as y and heading as z.

MultibeamInstrument::SMARTP ( vtkPolyData   ) 

Give the navigation output.

Returns:
The navigation output. Data from this port consists of points as x, y and the tide as scalars.

MultibeamInstrument::SMARTP ( vtkPolyData   ) 

Give the tide output.

Returns:
The tide output. Data from this port consists of points as x, y and the tide as scalars.

MultibeamInstrument::SMARTP ( vtkPolyData   ) 

Give the velocimeter output.

Returns:
The velocimeter output. Data from this port consists of points as x, y and the velocimeter data as scalars.

MultibeamInstrument::SMARTP ( vtkPolyData   ) 

Give the temperature output.

return The tide output. Data from this port consists of points as x, y and the temperature as scalars.

virtual void MultibeamInstrument::Update (  )  [virtual]

Update this object with respect to the input.

More exactly read one record of the input. Then pass the update on to the several output objects.

Reimplemented from vtkSource.

virtual void MultibeamInstrument::Tickle (  )  [virtual]

Do nothing.

This function can be overloaded and used to tickle any input object.

Reimplemented in PolyDataInstrument.

virtual bool MultibeamInstrument::PopRecord (  )  [virtual]

Indicate whether there is a record of any type to process.

Returns:
Always false.

Reimplemented in PolyDataInstrument.

virtual void MultibeamInstrument::Execute (  )  [protected, virtual]

Execute the dataflow.

Reimplemented from vtkSource.

Reimplemented in PolyDataInstrument.

virtual void MultibeamInstrument::ReadInputRecord (  )  [protected, virtual]

Get the nextInputRecord.

It is assumed that an input record is avaliable.

Reimplemented in PolyDataInstrument.

void MultibeamInstrument::ComputeInputUpdateExtents ( vtkDataObject data  )  [protected, virtual]

Compute the input extents.

Parameters:
data The output of the input object to be computed upon.

Reimplemented from vtkSource.


Member Data Documentation

int MultibeamInstrument::ExecutePiece [protected]

Definition at line 215 of file MultibeamInstrument.h.

int MultibeamInstrument::ExecuteNumberOfPieces [protected]

Definition at line 216 of file MultibeamInstrument.h.

int MultibeamInstrument::ExecuteGhostLevel [protected]

Definition at line 217 of file MultibeamInstrument.h.

vtkMultiProcessController* MultibeamInstrument::controller [protected]

The process controller.

Definition at line 222 of file MultibeamInstrument.h.


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