Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

DataNode Class Reference

#include <dataNode.h>

Inheritance diagram for DataNode:

PandaNode TypedWritable Namable BoundedObject ReferenceCount TypedObject AnalogNode ButtonNode ButtonThrower DialNode DriveInterface MouseAndKeyboard MouseWatcher Trackball TrackerNode Transform2SG VirtualMouse List of all members.

Public Member Functions

virtual PandaNodemake_copy () const
void transmit_data (const DataNodeTransmit inputs[], DataNodeTransmit &output)
INLINE int get_num_inputs () const
INLINE int get_num_outputs () const
void write_outputs (ostream &out) const
void write_connections (ostream &out) const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()

Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()

Public Attributes

PUBLISHED __pad1__: void write_inputs(ostream &out) const

Protected Member Functions

INLINE DataNode (const DataNode &copy)
int define_input (const string &name, TypeHandle data_type)
int define_output (const string &name, TypeHandle data_type)
virtual void parents_changed ()
virtual void do_transmit_data (const DataNodeTransmit &input, DataNodeTransmit &output)

Private Types

typedef pmap< string, WireDefWires
typedef pvector< DataConnectionDataConnections

Private Member Functions

void reconnect ()

Private Attributes

PUBLISHED __pad0__: INLINE DataNode(const string &name)
Wires _input_wires
Wires _output_wires
DataConnections _data_connections

Static Private Attributes

TypeHandle _type_handle

Member Typedef Documentation

typedef pvector<DataConnection> DataNode::DataConnections [private]
 

Definition at line 119 of file dataNode.h.

typedef pmap<string, WireDef> DataNode::Wires [private]
 

Definition at line 108 of file dataNode.h.


Constructor & Destructor Documentation

INLINE DataNode::DataNode const DataNode &  copy  )  [protected]
 

Referenced by make_copy().


Member Function Documentation

int DataNode::define_input const string &  name,
TypeHandle  data_type
[protected]
 

Definition at line 187 of file dataNode.cxx.

References _data_connections, DataNode::WireDef::_data_type, DataNode::WireDef::_index, and _input_wires.

int DataNode::define_output const string &  name,
TypeHandle  data_type
[protected]
 

Definition at line 226 of file dataNode.cxx.

References _data_connections, DataNode::WireDef::_data_type, DataNode::WireDef::_index, and _output_wires.

void DataNode::do_transmit_data const DataNodeTransmit input,
DataNodeTransmit output
[protected, virtual]
 

Reimplemented in AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, ButtonThrower, DriveInterface, MouseWatcher, Trackball, and Transform2SG.

Definition at line 275 of file dataNode.cxx.

Referenced by transmit_data().

virtual TypeHandle DataNode::force_init_type void   )  [inline, virtual]
 

Reimplemented from PandaNode.

Reimplemented in AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, ButtonThrower, DriveInterface, MouseWatcher, Trackball, and Transform2SG.

Definition at line 134 of file dataNode.h.

References PandaNode::get_class_type(), and PandaNode::init_type().

TypeHandle DataNode::get_class_type void   )  [inline, static]
 

Reimplemented from PandaNode.

Reimplemented in AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, ButtonThrower, DriveInterface, MouseWatcher, Trackball, and Transform2SG.

Definition at line 123 of file dataNode.h.

Referenced by VirtualMouse::force_init_type(), Transform2SG::force_init_type(), TrackerNode::force_init_type(), Trackball::force_init_type(), MouseWatcher::force_init_type(), MouseAndKeyboard::force_init_type(), DriveInterface::force_init_type(), DialNode::force_init_type(), ButtonThrower::force_init_type(), ButtonNode::force_init_type(), AnalogNode::force_init_type(), VirtualMouse::get_type(), Transform2SG::get_type(), TrackerNode::get_type(), Trackball::get_type(), MouseWatcher::get_type(), MouseAndKeyboard::get_type(), DriveInterface::get_type(), DialNode::get_type(), ButtonThrower::get_type(), ButtonNode::get_type(), AnalogNode::get_type(), VirtualMouse::init_type(), Transform2SG::init_type(), TrackerNode::init_type(), Trackball::init_type(), MouseWatcher::init_type(), MouseAndKeyboard::init_type(), DriveInterface::init_type(), DialNode::init_type(), ButtonThrower::init_type(), ButtonNode::init_type(), AnalogNode::init_type(), reconnect(), DataGraphTraverser::traverse(), and DataGraphTraverser::traverse_below().

INLINE int DataNode::get_num_inputs  )  const
 

Referenced by reconnect(), and transmit_data().

INLINE int DataNode::get_num_outputs  )  const
 

Referenced by DriveInterface::force_dgraph(), and DataGraphTraverser::r_transmit().

virtual TypeHandle DataNode::get_type void   )  const [inline, virtual]
 

Reimplemented from PandaNode.

Reimplemented in AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, ButtonThrower, DriveInterface, MouseWatcher, Trackball, and Transform2SG.

Definition at line 131 of file dataNode.h.

References PandaNode::get_class_type().

void DataNode::init_type void   )  [inline, static]
 

Reimplemented from PandaNode.

Reimplemented in AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, ButtonThrower, DriveInterface, MouseWatcher, Trackball, and Transform2SG.

Definition at line 126 of file dataNode.h.

References PandaNode::get_class_type(), PandaNode::init_type(), and register_type().

Referenced by ConfigureFn(), VirtualMouse::force_init_type(), Transform2SG::force_init_type(), TrackerNode::force_init_type(), Trackball::force_init_type(), MouseWatcher::force_init_type(), MouseAndKeyboard::force_init_type(), DriveInterface::force_init_type(), DialNode::force_init_type(), ButtonThrower::force_init_type(), ButtonNode::force_init_type(), AnalogNode::force_init_type(), VirtualMouse::init_type(), Transform2SG::init_type(), TrackerNode::init_type(), Trackball::init_type(), MouseWatcher::init_type(), MouseAndKeyboard::init_type(), DriveInterface::init_type(), DialNode::init_type(), ButtonThrower::init_type(), ButtonNode::init_type(), and AnalogNode::init_type().

PandaNode * DataNode::make_copy  )  const [virtual]
 

Reimplemented from PandaNode.

Definition at line 35 of file dataNode.cxx.

References DataNode().

void DataNode::parents_changed  )  [protected, virtual]
 

Reimplemented from PandaNode.

Definition at line 257 of file dataNode.cxx.

References reconnect().

void DataNode::reconnect  )  [private]
 

Definition at line 286 of file dataNode.cxx.

References _data_connections, DataNode::WireDef::_data_type, DataNode::WireDef::_index, DataNode::DataConnection::_input_index, _input_wires, DataNode::DataConnection::_output_index, _output_wires, DataNode::DataConnection::_parent_index, DCAST, get_class_type(), get_num_inputs(), PandaNode::get_num_parents(), PandaNode::get_parent(), and TypedObject::is_of_type().

Referenced by parents_changed().

void DataNode::transmit_data const DataNodeTransmit  inputs[],
DataNodeTransmit output
 

Definition at line 48 of file dataNode.cxx.

References _data_connections, DataNode::WireDef::_index, DataNode::DataConnection::_input_index, _input_wires, DataNode::DataConnection::_output_index, _output_wires, DataNode::DataConnection::_parent_index, data, do_transmit_data(), DataNodeTransmit::get_data(), get_num_inputs(), DataNodeTransmit::has_data(), DataNodeTransmit::reserve(), and DataNodeTransmit::set_data().

Referenced by DataGraphTraverser::r_transmit().

void DataNode::write_connections ostream &  out  )  const
 

Definition at line 146 of file dataNode.cxx.

References _data_connections, DataNode::WireDef::_data_type, DataNode::WireDef::_index, DataNode::DataConnection::_input_index, _input_wires, DataNode::DataConnection::_parent_index, PandaNode::get_num_parents(), and PandaNode::get_parent().

void DataNode::write_outputs ostream &  out  )  const
 

Definition at line 129 of file dataNode.cxx.

References DataNode::WireDef::_data_type, and _output_wires.


Member Data Documentation

PUBLISHED DataNode::__pad0__ [private]
 

Reimplemented from PandaNode.

Reimplemented in AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, ButtonThrower, DriveInterface, MouseWatcher, Trackball, and Transform2SG.

Definition at line 69 of file dataNode.h.

PUBLISHED DataNode::__pad1__
 

Reimplemented from PandaNode.

Definition at line 83 of file dataNode.h.

DataConnections DataNode::_data_connections [private]
 

Definition at line 120 of file dataNode.h.

Referenced by define_input(), define_output(), reconnect(), transmit_data(), and write_connections().

Wires DataNode::_input_wires [private]
 

Definition at line 110 of file dataNode.h.

Referenced by define_input(), reconnect(), transmit_data(), and write_connections().

Wires DataNode::_output_wires [private]
 

Definition at line 111 of file dataNode.h.

Referenced by define_output(), reconnect(), transmit_data(), and write_outputs().

TypeHandle DataNode::_type_handle [static, private]
 

Reimplemented from PandaNode.

Reimplemented in AnalogNode, ButtonNode, DialNode, MouseAndKeyboard, TrackerNode, VirtualMouse, ButtonThrower, DriveInterface, MouseWatcher, Trackball, and Transform2SG.

Definition at line 24 of file dataNode.cxx.


The documentation for this class was generated from the following files:
Generated on Fri Apr 18 00:11:51 2003 for Panda by doxygen1.3