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

The purpose of this class is to connect a pipeline in this process to one in another. More...

#include <vtkPolyDataInputPortClient.h>

Inheritance diagram for vtkPolyDataInputPortClient:

Inheritance graph
[legend]
Collaboration diagram for vtkPolyDataInputPortClient:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Tags {
  DOWN_DATA_TIME_TAG = 98970, UPDATE_EXTENT_TAG = 98971, TRANSFER_NEEDED_TAG = 98972, INFORMATION_TRANSFER_TAG = 98973,
  DATA_TRANSFER_TAG = 98974, NEW_DATA_TIME_TAG = 98975, DATA_TYPE_TAG = 98976
}
 Arbitrary tags used by the ports for communication. More...

Public Member Functions

 vtkTypeRevisionMacro (vtkPolyDataInputPortClient, vtkDataSetAlgorithm)
void PrintSelf (ostream &os, vtkIndent indent)
 Print the state of this object.
void Controller (vtkMultiProcessController *controller)
 Specify the Socket Controller to use.
vtkMultiProcessControllerController () const
 Give the Socket Controller in use.
void RemoteHostName (std::string name)
 Specify the name of the host on which the associated vtkPolyDataOutputServer is located.
std::string RemoteHostName () const
 Give the name of the host on which the associated vtkPolyDataOutputPortServer is located.
void PortNumber (int port)
 Specify the port number of the remote server.
int PortNumber () const
 Give the port number of the remote server.
bool Connect ()
 Connect to the upstream host:port.
void Disconnect ()
 Disconnect from a previously connected upstream.
unsigned long GetMTime ()
 Give the MTime also considering the other process.
void SetDoUpdateInformation (int boolean)
 If DoUpdateInformation if false (it is true by default), UpdateInformation is not performed during Update.
int GetDoUpdateInformation () const
 Give the current state of DoUpdateInformation.

Static Public Member Functions

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

Protected Member Functions

 vtkPolyDataInputPortClient ()
 Ctor.
virtual ~vtkPolyDataInputPortClient ()
 Dtor.
virtual void SetLastUpdateExtent (int extent[6])
 Specify the last update extent.
int UpdateExtentIsOutsideOfTheExtent (vtkDataObject *output)
virtual int RequestDataObject (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int FillOutputPortInformation (int port, vtkInformation *info)
 see the vtkAlgorithm for what these methods do
void TriggerRMI (int tag)
 Send a remote method interupt.

Protected Attributes

std::string remoteHostName
int port
unsigned long dataTime
unsigned long upStreamMTime
int doUpdateInformation
int lastUpdatePiece
int lastUpdateNumberOfPieces
int lastUpdateGhostLevel
int lastUpdateExtent [6]
vtkSocketCommunicatordatacomm
 The incoming data stream.
vtkSocketCommunicatorupstcomm
 The upstream outgoing control channel.
vtkSocketCommunicatordnstcomm
 The downstream incomming control channel.

Detailed Description

The purpose of this class is to connect a pipeline in this process to one in another.

It communicates all the pipeline protocol so that the fact you are running in multiple processes is transparent.

An input port is used as a source (input to a process). One is placed at the start of a pipeline, and has, as its data source, a single corresponding output port in another process .

Note: This class uses four ports anchored on the one specified by PortNumber(). That is PortNumber(), PortNumber() + 1 PortNumber() +2 and PortNumber() + 3 are used.

See also:
vtkPolyDataOutputPortServer

Definition at line 33 of file vtkPolyDataInputPortClient.h.


Member Enumeration Documentation

enum vtkPolyDataInputPortClient::Tags

Arbitrary tags used by the ports for communication.

Enumerator:
DOWN_DATA_TIME_TAG 
UPDATE_EXTENT_TAG 
TRANSFER_NEEDED_TAG 
INFORMATION_TRANSFER_TAG 
DATA_TRANSFER_TAG 
NEW_DATA_TIME_TAG 
DATA_TYPE_TAG 

Definition at line 134 of file vtkPolyDataInputPortClient.h.


Constructor & Destructor Documentation

vtkPolyDataInputPortClient::vtkPolyDataInputPortClient (  )  [protected]

Ctor.

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

Dtor.


Member Function Documentation

static vtkPolyDataInputPortClient* vtkPolyDataInputPortClient::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 vtkDataSetAlgorithm.

vtkPolyDataInputPortClient::vtkTypeRevisionMacro ( vtkPolyDataInputPortClient  ,
vtkDataSetAlgorithm   
)

void vtkPolyDataInputPortClient::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 vtkDataSetAlgorithm.

void vtkPolyDataInputPortClient::Controller ( vtkMultiProcessController controller  ) 

Specify the Socket Controller to use.

Parameters:
controller The vtkSocketController. Note: This is set in this class's ctor and should only be set subsiquently in special cases.

vtkMultiProcessController* vtkPolyDataInputPortClient::Controller (  )  const

Give the Socket Controller in use.

Returns:
The vtkSocketController.

void vtkPolyDataInputPortClient::RemoteHostName ( std::string  name  ) 

Specify the name of the host on which the associated vtkPolyDataOutputServer is located.

Parameters:
id The name of the remote host.

std::string vtkPolyDataInputPortClient::RemoteHostName (  )  const

Give the name of the host on which the associated vtkPolyDataOutputPortServer is located.

Returns:
The name of the remote host.

void vtkPolyDataInputPortClient::PortNumber ( int  port  ) 

Specify the port number of the remote server.

Parameters:
port The port number.

int vtkPolyDataInputPortClient::PortNumber (  )  const

Give the port number of the remote server.

Returns:
The port number.

bool vtkPolyDataInputPortClient::Connect (  ) 

Connect to the upstream host:port.

return If succesfull return true, false otherwise.

void vtkPolyDataInputPortClient::Disconnect (  ) 

Disconnect from a previously connected upstream.

unsigned long vtkPolyDataInputPortClient::GetMTime (  )  [virtual]

Give the MTime also considering the other process.

Returns:
The MTime.

Reimplemented from vtkObject.

void vtkPolyDataInputPortClient::SetDoUpdateInformation ( int  boolean  ) 

If DoUpdateInformation if false (it is true by default), UpdateInformation is not performed during Update.

This can be used to avoid unnecessary communication once the data has been transferred. However, if the pipeline changes upstream, DoUpdateInformation has to be set to true again. Otherwise, Updata will not occur.

Parameters:
boolean The argument: 0 if false, true otherwise.

int vtkPolyDataInputPortClient::GetDoUpdateInformation (  )  const

Give the current state of DoUpdateInformation.

Returns:
The current state of DoUpdateInformation: 0 if false, true otherwise

virtual void vtkPolyDataInputPortClient::SetLastUpdateExtent ( int  extent[6]  )  [protected, virtual]

Specify the last update extent.

Parameters:
extent The extent vector.

int vtkPolyDataInputPortClient::UpdateExtentIsOutsideOfTheExtent ( vtkDataObject output  )  [protected]

virtual int vtkPolyDataInputPortClient::RequestDataObject ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

Reimplemented from vtkDataSetAlgorithm.

virtual int vtkPolyDataInputPortClient::RequestInformation ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

Reimplemented from vtkDataSetAlgorithm.

virtual int vtkPolyDataInputPortClient::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

Reimplemented from vtkDataSetAlgorithm.

virtual int vtkPolyDataInputPortClient::FillOutputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

see the vtkAlgorithm for what these methods do

Reimplemented from vtkDataSetAlgorithm.

void vtkPolyDataInputPortClient::TriggerRMI ( int  tag  )  [protected]

Send a remote method interupt.


Member Data Documentation

std::string vtkPolyDataInputPortClient::remoteHostName [protected]

Definition at line 160 of file vtkPolyDataInputPortClient.h.

int vtkPolyDataInputPortClient::port [protected]

Definition at line 161 of file vtkPolyDataInputPortClient.h.

unsigned long vtkPolyDataInputPortClient::dataTime [protected]

Definition at line 163 of file vtkPolyDataInputPortClient.h.

unsigned long vtkPolyDataInputPortClient::upStreamMTime [protected]

Definition at line 164 of file vtkPolyDataInputPortClient.h.

int vtkPolyDataInputPortClient::doUpdateInformation [protected]

Definition at line 165 of file vtkPolyDataInputPortClient.h.

int vtkPolyDataInputPortClient::lastUpdatePiece [protected]

Definition at line 167 of file vtkPolyDataInputPortClient.h.

int vtkPolyDataInputPortClient::lastUpdateNumberOfPieces [protected]

Definition at line 168 of file vtkPolyDataInputPortClient.h.

int vtkPolyDataInputPortClient::lastUpdateGhostLevel [protected]

Definition at line 169 of file vtkPolyDataInputPortClient.h.

int vtkPolyDataInputPortClient::lastUpdateExtent[6] [protected]

Definition at line 177 of file vtkPolyDataInputPortClient.h.

vtkSocketCommunicator* vtkPolyDataInputPortClient::datacomm [protected]

The incoming data stream.

Definition at line 206 of file vtkPolyDataInputPortClient.h.

vtkSocketCommunicator* vtkPolyDataInputPortClient::upstcomm [protected]

The upstream outgoing control channel.

Definition at line 211 of file vtkPolyDataInputPortClient.h.

vtkSocketCommunicator* vtkPolyDataInputPortClient::dnstcomm [protected]

The downstream incomming control channel.

Definition at line 216 of file vtkPolyDataInputPortClient.h.


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