Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

FD::Node Class Reference

#include <Node.h>

Inheritance diagram for FD::Node:

Inheritance graph
[legend]
Collaboration diagram for FD::Node:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Node (std::string nodeName, const ParameterSet &params)
virtual ~Node ()
virtual ObjectRef getOutput (int output_id, int count)=0
virtual ObjectRef getOutputNamed (const std::string &outputName, int count)
virtual void connectToNode (std::string in, Node *inputNode, std::string out)
virtual void initialize ()
virtual bool hasOutput (int output_id) const
ObjectRef getInput (int inputID, int count)
virtual void stop ()
virtual void cleanupNotify ()
virtual void reset ()
std::string getName ()
virtual void request (int outputID, const ParameterSet &req)
virtual void verifyConnect ()
void printOn (std::ostream &out=std::cout) const
void setUINode (UINode *_uinode)

Static Public Member Functions

static int addFactory (const std::string &factoryName, _NodeFactory *const factory)
static int addXPM (const std::string &nodeName, char **XPMData)
static char ** getXPM (const std::string &nodeName)
static _NodeFactorygetFactoryNamed (const std::string &name)
static std::map< std::string,
_NodeFactory * > & 
factoryDictionary ()
static std::vector< std::string > & nodeInfo ()
static std::map< std::string,
char ** > & 
XPMDictionary ()
static int addNodeInfo (const std::string &info)

Protected Member Functions

virtual void connectToNode (unsigned int in, Node *inputNode, unsigned int out)
virtual int addOutput (const std::string &outputName)
virtual int addInput (const std::string &inputName)
virtual std::vector< NodeInput > & getInputs ()
 Node ()
virtual int translateInput (std::string inputName)
virtual int translateOutput (std::string inputName)
virtual void rt_assert (bool cond, std::string message="", char *_file="unknown", int _line=0)
virtual void construct_assert (bool cond, std::string message="", char *_file="unknown", int _line=0)
virtual void throw_error (bool send_ptr, std::string message, char *_file, int _line)

Protected Attributes

std::string name
std::vector< NodeInputinputs
std::vector< std::string > outputNames
ParameterSet parameters
UINodeuinode

Friends

class Network
class Iterator

Detailed Description

The Base Node class. All nodes to be inserted in a network must derive from this class. It contains the proper initializations for the connectivity of the nodes.
Author:
Jean-Marc Valin & Dominic Letourneau


Constructor & Destructor Documentation

FD::Node::Node std::string  nodeName,
const ParameterSet params
 

Constructor, takes the name of the node and a set of parameters

virtual FD::Node::~Node  )  [inline, virtual]
 

Destructor

FD::Node::Node  )  [inline, protected]
 

Default constructor, should not be used


Member Function Documentation

static int FD::Node::addFactory const std::string &  factoryName,
_NodeFactory *const   factory
[static]
 

Adding a factory into the static dictionary

virtual int FD::Node::addInput const std::string &  inputName  )  [protected, virtual]
 

Adding an input to a node

Reimplemented in FD::BufferedNode, and FD::InputTranslator.

static int FD::Node::addNodeInfo const std::string &  info  )  [static]
 

Routine to add info for a node

virtual int FD::Node::addOutput const std::string &  outputName  )  [protected, virtual]
 

Adding an output to a node

Reimplemented in FD::BufferedNode.

static int FD::Node::addXPM const std::string &  nodeName,
char **  XPMData
[static]
 

Adding a XPM representation into the XPM dictionary

virtual void FD::Node::cleanupNotify  )  [inline, virtual]
 

Notify the node that is will be destroyed shortly

Reimplemented in FD::Network.

virtual void FD::Node::connectToNode std::string  in,
Node inputNode,
std::string  out
[virtual]
 

Connect an input node using symbolic (strings) input/output names

Reimplemented in FD::Iterator, and FD::Network.

virtual void FD::Node::connectToNode unsigned int  in,
Node inputNode,
unsigned int  out
[protected, virtual]
 

Connect an input node using numeric (integer) input/output names

Reimplemented in FD::Iterator, and FD::Network.

virtual void FD::Node::construct_assert bool  cond,
std::string  message = "",
char *  _file = "unknown",
int  _line = 0
[protected, virtual]
 

Construct-time assertions

static std::map<std::string,_NodeFactory*>& FD::Node::factoryDictionary  )  [static]
 

The node instance factory

static _NodeFactory* FD::Node::getFactoryNamed const std::string &  name  )  [static]
 

The factory lookup function

virtual std::vector<NodeInput>& FD::Node::getInputs  )  [inline, protected, virtual]
 

Returns the inputs vector

Reimplemented in FD::Network.

std::string FD::Node::getName  )  [inline]
 

Returns the node name

Reimplemented in FD::Network.

virtual ObjectRef FD::Node::getOutput int  output_id,
int  count
[pure virtual]
 

Ask for the node's output which ID (number) is output_id and for the 'count' iteration

Implemented in FD::BufferedNode, FD::Constant, FD::InputTranslator, FD::Iterator, and FD::Network.

virtual ObjectRef FD::Node::getOutputNamed const std::string &  outputName,
int  count
[inline, virtual]
 

Ask for the node's output (named) and for the count iteration

static char** FD::Node::getXPM const std::string &  nodeName  )  [static]
 

Get the XPM representation from the XPM dictionary

virtual bool FD::Node::hasOutput int  output_id  )  const [virtual]
 

Checks whether node really has a certain output

Reimplemented in FD::InputTranslator, and FD::Network.

virtual void FD::Node::initialize  )  [virtual]
 

Initialize a node

Reimplemented in FD::BufferedNode, FD::Constant, FD::Iterator, and FD::Network.

static std::vector<std::string>& FD::Node::nodeInfo  )  [static]
 

The node information map

void FD::Node::printOn std::ostream &  out = std::cout  )  const [virtual]
 

A node can print itself

Implements FD::Object.

virtual void FD::Node::request int  outputID,
const ParameterSet req
[inline, virtual]
 

Standard request-passing method between nodes during initialization

Reimplemented in FD::BufferedNode, FD::InputTranslator, FD::Iterator, and FD::Network.

virtual void FD::Node::reset  )  [virtual]
 

Resets the node internal values and buffers

Reimplemented in FD::BufferedNode, FD::Constant, FD::Iterator, and FD::Network.

virtual void FD::Node::rt_assert bool  cond,
std::string  message = "",
char *  _file = "unknown",
int  _line = 0
[protected, virtual]
 

Run-time assertions

virtual void FD::Node::stop  )  [inline, virtual]
 

Asks the node to stop what it is doing to allow processing termination

Reimplemented in FD::Iterator, and FD::Network.

virtual void FD::Node::throw_error bool  send_ptr,
std::string  message,
char *  _file,
int  _line
[protected, virtual]
 

Error with the node

virtual int FD::Node::translateInput std::string  inputName  )  [protected, virtual]
 

symbolic to numeric translation for input names

Reimplemented in FD::InputTranslator, and FD::Network.

virtual int FD::Node::translateOutput std::string  inputName  )  [protected, virtual]
 

symbolic to numeric translation for output names

Reimplemented in FD::InputTranslator, and FD::Network.

virtual void FD::Node::verifyConnect  )  [virtual]
 

Verify input connections for the node

Reimplemented in FD::Network.

static std::map<std::string,char**>& FD::Node::XPMDictionary  )  [static]
 

The node visual representation map (XPM)


Friends And Related Function Documentation

friend class Network [friend]
 

A network can have access to private members of Node


Member Data Documentation

std::vector<NodeInput> FD::Node::inputs [protected]
 

Node's inputs

std::string FD::Node::name [protected]
 

Node's name

std::vector<std::string> FD::Node::outputNames [protected]
 

Node's outputs

ParameterSet FD::Node::parameters [protected]
 

Parameters given to the node at construction time

UINode* FD::Node::uinode [protected]
 

Corresponding UINode


The documentation for this class was generated from the following file:
Generated on Wed Oct 5 14:29:40 2005 for FlowDesigner by  doxygen 1.4.4