iso::visual::PatchNode Class Reference

patch node class More...

#include <iso_visual_patch.h>

Inherited by iso::visual::CLToImageNode, iso::visual::DataToSceneObjectTransforms, iso::visual::DistributeNode< DataType >, iso::visual::Grid2BufferNode< DataType >, iso::visual::ImageProcessNode, iso::visual::ImageToCLNode, iso::visual::InvertImageNode, iso::visual::InvertImageNodeCL, iso::visual::InvertImageNodeCL2, iso::visual::InvertImageNodeCL3, iso::visual::LoadImageNode, iso::visual::LoadMeshNode, iso::visual::LoadMovieNode, iso::visual::MixImageNodeCL, iso::visual::SaveImageNode, iso::visual::SwarmDataReceiverNode, RotNode, and TestNode.

Inheritance diagram for iso::visual::PatchNode:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PatchNode ()
 constructor
 PatchNode (const base::String &pName)
 constructor
virtual ~PatchNode ()
 destructor
const base::String & name () const
 return name of node
bool active () const
 check if node is active
bool changed () const
 returns true if not has changed since last update call
virtual void setChanged (bool pChanged)
 set change flag
virtual void setPermChanged (bool pPermChanged)
 set permanent change flag
int inputConnectionCount () const
 return total number of input connections
int outputConnectionCount () const
 return total number of output connections
int activeOutputConnectionCount () const
 return total number of output connections to active nodes
bool checkPort (const base::String &pPortName) const
 check if port exsists
bool checkInputPort (const base::String &pPortName) const
 check if input port exsists
bool checkOutputPort (const base::String &pPortName) const
 check if output port exsists
PatchPortport (const base::String &pPortName) throw (VisualException)
 retrieve port
PatchInputPortinputPort (const base::String &pPortName) throw (VisualException)
 retrieve input port
PatchOutputPortoutputPort (const base::String &pPortName) throw (VisualException)
 retrieve output port
InputPortsinputPorts ()
 return input ports
OutputPortsoutputPorts ()
 return output ports
template<typename DataType>
bool checkTypedPort (const base::String &pPortName) const
 check if port exsists
template<typename DataType>
bool checkTypedInputPort (const base::String &pPortName) const
 check if input port exsists
template<typename DataType>
bool checkTypedOutputPort (const base::String &pPortName) const
 check if output port exsists
template<typename DataType>
TypedPatchInputPort< DataType > & typedInputPort (const base::String &pPortName) throw (VisualException)
 retrieve input port
template<typename DataType>
TypedPatchOutputPort< DataType > & typedOutputPort (const base::String &pPortName) throw (VisualException)
 retrieve output port
template<typename DataType>
DataType ** get (const base::String &pPortName) throw (VisualException)
 return port data
void set (const base::String &pPortName, const PatchNodeData &pData) throw (VisualException)
 directly set port data
void connect (const base::String &pOutputPortName, PatchInputPort &pInputPort) throw (VisualException)
 connect output port to input port
void disconnect (const base::String &pInputPortName) throw (VisualException)
void update ()
 node update
virtual void process ()
 node process

Protected Member Functions

void addInputPort (const base::String &pPortName, PatchInputPort *pInputPort) throw (VisualException)
 add input port
void addOutputPort (const base::String &pPortName, PatchOutputPort *pOutputPort) throw (VisualException)
 add output port
template<typename DataType>
void exportInputVariable (const base::String &pPortName, DataType **pVariable) throw (VisualException)
 expose variable via input port
template<typename DataType>
void exportOutputVariable (const base::String &pPortName, DataType **pVariable) throw (VisualException)
 expose variable via output port
void removePort (const base::String &pPortName) throw (VisualException)
 remove port
void removeInputPort (const base::String &pPortName) throw (VisualException)
 remove input port
void removeOutputPort (const base::String &pPortName) throw (VisualException)
 remove output port

Protected Attributes

base::String mName
bool mActive
bool mChanged
bool mPermChanged
InputPorts mInputPorts
OutputPorts mOutputPorts
unsigned int mUpdateCallCount
bool mUpdating

Static Protected Attributes

static base::String sName

Detailed Description

patch node class

basic patch node class
this class possesses input and output ports through which its internal variables can be exposed
variables that become exposed via input ports should be pointers to uninitialzed data
variables that become exposed via output ports should be properly initialized data
the update function is where all the node specific functionality happens


Constructor & Destructor Documentation

PatchNode::PatchNode (  ) 

constructor

PatchNode::PatchNode ( const base::String &  pName  ) 

constructor

Parameters:
pName name of node

PatchNode::~PatchNode (  )  [virtual]

destructor


Member Function Documentation

const base::String & PatchNode::name (  )  const

return name of node

Returns:
name of node

bool PatchNode::active (  )  const

check if node is active

Returns:
true if node is active, false otherwise

bool PatchNode::changed (  )  const

returns true if not has changed since last update call

Returns:
true if not has changed since last update call

void PatchNode::setChanged ( bool  pChanged  )  [virtual]

set change flag

Parameters:
pChanged changed flag

void PatchNode::setPermChanged ( bool  pPermChanged  )  [virtual]

set permanent change flag

Parameters:
pChanged permanent changed flag
change flag indicates if node is marked as permanently changed

int PatchNode::inputConnectionCount (  )  const

return total number of input connections

Returns:
total number of input connections

int PatchNode::outputConnectionCount (  )  const

return total number of output connections

Returns:
total number of output connections

int PatchNode::activeOutputConnectionCount (  )  const

return total number of output connections to active nodes

Returns:
total number of output connections to active nodes

bool PatchNode::checkPort ( const base::String &  pPortName  )  const

check if port exsists

Returns:
true if port exists, false otherwise

bool PatchNode::checkInputPort ( const base::String &  pPortName  )  const

check if input port exsists

Returns:
true if input port exists, false otherwise

bool PatchNode::checkOutputPort ( const base::String &  pPortName  )  const

check if output port exsists

Returns:
true if output port exists, false otherwise

PatchPort & PatchNode::port ( const base::String &  pPortName  )  throw (VisualException)

retrieve port

Parameters:
pPortName name of port
Returns:
port
Exceptions:
VisualException no port with specified name found
Remarks:
if both input and output port names match, only input port is returned

PatchInputPort & PatchNode::inputPort ( const base::String &  pPortName  )  throw (VisualException)

retrieve input port

Parameters:
pPortName name of input port
Returns:
input port
Exceptions:
VisualException no input port with specified name found

PatchOutputPort & PatchNode::outputPort ( const base::String &  pPortName  )  throw (VisualException)

retrieve output port

Parameters:
pPortName name of output port
Returns:
output port
Exceptions:
VisualException no output port with specified name found

InputPorts & PatchNode::inputPorts (  ) 

return input ports

Returns:
input ports

OutputPorts & PatchNode::outputPorts (  ) 

return output ports

Returns:
output ports

template<typename DataType>
bool iso::visual::PatchNode::checkTypedPort ( const base::String &  pPortName  )  const

check if port exsists

Returns:
true if port exists, false otherwise

template<typename DataType>
bool iso::visual::PatchNode::checkTypedInputPort ( const base::String &  pPortName  )  const

check if input port exsists

Returns:
true if input port exists, false otherwise

template<typename DataType>
bool iso::visual::PatchNode::checkTypedOutputPort ( const base::String &  pPortName  )  const

check if output port exsists

Returns:
true if output port exists, false otherwise

template<typename DataType>
TypedPatchInputPort< DataType > & iso::visual::PatchNode::typedInputPort ( const base::String &  pPortName  )  throw (VisualException)

retrieve input port

Parameters:
pPortName name of input port
Returns:
input port
Exceptions:
VisualException no input port with specified name found

template<typename DataType>
TypedPatchOutputPort< DataType > & iso::visual::PatchNode::typedOutputPort ( const base::String &  pPortName  )  throw (VisualException)

retrieve output port

Parameters:
pPortName name of output port
Returns:
output port
Exceptions:
VisualException no output port with specified name found

template<typename DataType>
DataType ** iso::visual::PatchNode::get ( const base::String &  pPortName  )  throw (VisualException)

return port data

Parameters:
pPortName iport name
Exceptions:
VisualException no port with specified name found

void PatchNode::set ( const base::String &  pPortName,
const PatchNodeData pData 
) throw (VisualException)

directly set port data

Parameters:
pPortName iport name
pData port data
Exceptions:
VisualException no port with specified name found

void PatchNode::connect ( const base::String &  pOutputPortName,
PatchInputPort pInputPort 
) throw (VisualException)

connect output port to input port

Parameters:
pOutputPortName name of output port (port is part of current node)
pInputPort input port (part of any node)
Exceptions:
VisualException failed to connect output port to input port

void PatchNode::disconnect ( const base::String &  pInputPortName  )  throw (VisualException)

void PatchNode::update (  ) 

node update

void PatchNode::process (  )  [virtual]

node process

Reimplemented in RotNode, TestNode, iso::visual::CLToImageNode, iso::visual::DataToSceneObjectTransforms, iso::visual::DistributeNode< DataType >, iso::visual::Grid2BufferNode< DataType >, iso::visual::ImageProcessNode, iso::visual::ImageToCLNode, iso::visual::InvertImageNode, iso::visual::InvertImageNodeCL, iso::visual::InvertImageNodeCL2, iso::visual::InvertImageNodeCL3, iso::visual::LoadImageNode, iso::visual::LoadMeshNode, iso::visual::LoadMovieNode, iso::visual::MixImageNodeCL, iso::visual::SaveImageNode, and iso::visual::SwarmDataReceiverNode.

void PatchNode::addInputPort ( const base::String &  pPortName,
PatchInputPort pInputPort 
) throw (VisualException) [protected]

add input port

Parameters:
pPortName name of input port
pInputPort input port
Exceptions:
VisualException input port name already exists

void PatchNode::addOutputPort ( const base::String &  pPortName,
PatchOutputPort pOutputPort 
) throw (VisualException) [protected]

add output port

Parameters:
pPortName name of output port
pOutputPort output port
Exceptions:
VisualException output port name already exists

template<typename DataType>
void iso::visual::PatchNode::exportInputVariable ( const base::String &  pPortName,
DataType **  pVariable 
) throw (VisualException) [protected]

expose variable via input port

Parameters:
pPortName name of input port
pVariable variable to be exposed via input port
Exceptions:
VisualException failed to expose variable via input port

template<typename DataType>
void iso::visual::PatchNode::exportOutputVariable ( const base::String &  pPortName,
DataType **  pVariable 
) throw (VisualException) [protected]

expose variable via output port

Parameters:
pPortName name of output port
pVariable variable to be exposed via output port
Exceptions:
VisualException failed to expose variable via output port

void PatchNode::removePort ( const base::String &  pPortName  )  throw (VisualException) [protected]

remove port

Parameters:
pPortName name of port
Exceptions:
VisualException port not found
Remarks:
removes either input port or output port or both in their names match

void PatchNode::removeInputPort ( const base::String &  pPortName  )  throw (VisualException) [protected]

remove input port

Parameters:
pPortName name of input port
Exceptions:
VisualException input port not found

void PatchNode::removeOutputPort ( const base::String &  pPortName  )  throw (VisualException) [protected]

remove output port

Parameters:
pPortName name of output port
Exceptions:
VisualException output port not found


Member Data Documentation

base::String iso::visual::PatchNode::sName [static, protected]

class name

base::String iso::visual::PatchNode::mName [protected]

name of node

bool iso::visual::PatchNode::mActive [protected]

flag indicating whether node is active or not

bool iso::visual::PatchNode::mChanged [protected]

flag indicating whether this node has changed since the last process call or not

bool iso::visual::PatchNode::mPermChanged [protected]

brief flag that indicates whether this node is marked as permanently changed

InputPorts iso::visual::PatchNode::mInputPorts [protected]

input port name / input port instance map

OutputPorts iso::visual::PatchNode::mOutputPorts [protected]

output port name / output port instance map

unsigned int iso::visual::PatchNode::mUpdateCallCount [protected]

number of update calls

bool iso::visual::PatchNode::mUpdating [protected]

flag indicating whether node is currently updating


The documentation for this class was generated from the following files:
Generated on Fri Feb 25 14:23:41 2011 for iso visual by  doxygen 1.5.1