vtkOutputPort Class Reference
[C++/Common/Vtk/Parallel]

OutputPort Connects the pipeline in this process to one in another processes. More...

#include <vtkOutputPort.h>

Inheritance diagram for vtkOutputPort:

Inheritance graph
[legend]
Collaboration diagram for vtkOutputPort:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 vtkTypeRevisionMacro (vtkOutputPort, vtkAlgorithm)
void PrintSelf (ostream &os, vtkIndent indent)
 Print the state of this object.
void SetInput (vtkDataObject *input)
 Specify the object that is the input to this object.
vtkDataObjectGetInput ()
 Give the object that is currently the input to this object.
void SetTag (int tag)
 Output is specified by the process the output port is in, and a tag so there can be more than one output port per process.
int GetTag () const
 Give the tag of this port.
void WaitForUpdate ()
 This just forwards the wait onto the controller, which will wait for a message for any of its ports (or any RMI).
vtkMultiProcessControllerGetController ()
 Access to the global controller.
virtual void SetController (vtkMultiProcessController *controller)
 Specify the controller in use.
void TriggerUpdateInformation (int remoteProcessId)
 RMI function needs to call this.
void TriggerUpdate (int remoteProcessId)
void TriggerRequestDataObject (int remoteProcessId)
void TriggerRequestData (int remoteProcessId)

Static Public Member Functions

static vtkOutputPortNew ()
 Instantiate a new object of this type.

Protected Member Functions

 vtkOutputPort ()
 ~vtkOutputPort ()
 Dtor.
virtual int FillInputPortInformation (int, vtkInformation *)

Protected Attributes

int Tag
unsigned long DownDataTime
vtkMultiProcessControllerController
vtkTimeStamp UpdateTime

Detailed Description

OutputPort Connects the pipeline in this process to one in another processes.

It communicates all the pipeline protocol so that the fact you are running in multiple processes is transparent. The output port is placed at the end of the pipeline (an output for a process). It can have multiple corresponding input ports in other processes that receive its data. Updates in a port are triggered asynchronously, so filter with multiple inputs will take advantage of task parallelism.

See also:
vtkInputPort vtkMultiProcessController
Note:
This class has been depreciated as of VTK 5.2.

Definition at line 51 of file vtkOutputPort.h.


Constructor & Destructor Documentation

vtkOutputPort::vtkOutputPort (  )  [protected]

vtkOutputPort::~vtkOutputPort (  )  [protected]

Dtor.


Member Function Documentation

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

Instantiate a new object of this type.

This is the only method that objects of this type may be created.

Returns:
The new object.

Reimplemented from vtkAlgorithm.

vtkOutputPort::vtkTypeRevisionMacro ( vtkOutputPort  ,
vtkAlgorithm   
)

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

Print the state of this object.

Parameters:
os The output stream.
indent The indentation level. Used for formating output.

Reimplemented from vtkAlgorithm.

void vtkOutputPort::SetInput ( vtkDataObject input  ) 

Specify the object that is the input to this object.

Parameters:
inout The input object.

vtkDataObject* vtkOutputPort::GetInput (  ) 

Give the object that is currently the input to this object.

Returns:
The input object.

void vtkOutputPort::SetTag ( int  tag  ) 

Output is specified by the process the output port is in, and a tag so there can be more than one output port per process.

Tag must be set before this port can be used. THIS TAG MUST BE EVEN BECAUSE TWO RMIs ARE CREATED FROM IT!!!

Parameters:
tag The tag.

int vtkOutputPort::GetTag (  )  const

Give the tag of this port.

Returns:
The tag.

void vtkOutputPort::WaitForUpdate (  ) 

This just forwards the wait onto the controller, which will wait for a message for any of its ports (or any RMI).

Since this method is implemented in the controller, multiple output ports can be waiting at once (as long as they share a controller). This method will only return if the BreakFlag is turned on in the controller. The controller automatically creates a break rmi with the vtkMultiProcessController::BREAK_RMI_TAG for doing this remotely.

vtkMultiProcessController* vtkOutputPort::GetController (  )  [inline]

Access to the global controller.

Definition at line 113 of file vtkOutputPort.h.

virtual void vtkOutputPort::SetController ( vtkMultiProcessController controller  )  [virtual]

Specify the controller in use.

Parameters:
controller The controller.

void vtkOutputPort::TriggerUpdateInformation ( int  remoteProcessId  ) 

RMI function needs to call this.

Should make function a friend. No one else should call it.

void vtkOutputPort::TriggerUpdate ( int  remoteProcessId  ) 

void vtkOutputPort::TriggerRequestDataObject ( int  remoteProcessId  ) 

void vtkOutputPort::TriggerRequestData ( int  remoteProcessId  ) 

virtual int vtkOutputPort::FillInputPortInformation ( int  ,
vtkInformation  
) [protected, virtual]

Reimplemented from vtkAlgorithm.


Member Data Documentation

int vtkOutputPort::Tag [protected]

Definition at line 143 of file vtkOutputPort.h.

unsigned long vtkOutputPort::DownDataTime [protected]

Definition at line 144 of file vtkOutputPort.h.

vtkMultiProcessController* vtkOutputPort::Controller [protected]

Definition at line 148 of file vtkOutputPort.h.

vtkTimeStamp vtkOutputPort::UpdateTime [protected]

Definition at line 149 of file vtkOutputPort.h.


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