52class EXPCL_PANDA_DGRAPH DataNode :
public PandaNode {
54 INLINE
explicit DataNode(
const std::string &name);
57 INLINE DataNode(
const DataNode ©);
74 int define_input(
const std::string &name,
TypeHandle data_type);
75 int define_output(
const std::string &name,
TypeHandle data_type);
79 virtual void parents_changed();
95 typedef pmap<std::string, WireDef> Wires;
100 class DataConnection {
106 typedef pvector<DataConnection> DataConnections;
107 DataConnections _data_connections;
119 static void init_type() {
120 PandaNode::init_type();
122 PandaNode::get_class_type());
125 return get_class_type();
127 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
This object supervises the traversal of the data graph and the moving of data from one DataNode to it...
Encapsulates the data generated from (or sent into) any particular DataNode.
void write_inputs(std::ostream &out) const
Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.
void write_connections(std::ostream &out) const
Writes to the indicated ostream a list of all the connections currently showing between this DataNode...
int get_num_inputs() const
Returns the number of different inputs that have been defined for this node using define_input().
int get_num_outputs() const
Returns the number of different outputs that have been defined for this node using define_output().
void transmit_data(DataGraphTraverser *trav, const DataNodeTransmit inputs[], DataNodeTransmit &output)
Collects the data from all of the parent nodes and puts it into one DataNodeTransmit object,...
void write_outputs(std::ostream &out) const
Writes to the indicated ostream a list of all the outputs this DataNode might generate.
A class to retrieve the individual data elements previously stored in a Datagram.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
virtual PandaNode * make_copy() const
Returns a newly-allocated PandaNode that is a shallow copy of this one.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...