10 #include <AtomsGraph/Globals.h>
11 #include <AtomsGraph/Port.h>
30 class ATOMSGRAPH_EXPORT
Node
34 typedef std::vector<Port*>::iterator port_iterator;
36 typedef std::vector<Port*>::const_iterator const_port_iterator;
50 virtual unsigned int typeId()
const = 0;
78 T* getInputPort(
const std::string& name);
90 inline port_iterator inputPortBegin();
93 inline port_iterator inputPortEnd();
96 inline const_port_iterator inputPortCBegin()
const;
99 inline const_port_iterator inputPortCEnd()
const;
102 inline size_t numInputPorts()
const;
109 T* getOutputPort(
const std::string& name);
121 inline port_iterator outputPortBegin();
124 inline port_iterator outputPortEnd();
127 inline const_port_iterator outputPortCBegin()
const;
130 inline const_port_iterator outputPortCEnd()
const;
133 inline size_t numOutputPorts()
const;
139 inline bool isDirty()
const;
142 inline void setDirtyFlag();
145 inline const std::string& name()
const;
148 inline void setName(
const std::string& name);
151 inline void setProfileTime(
size_t value);
154 inline size_t profileTime()
const;
173 std::vector<Port*> m_vInputPorts;
176 std::vector<Port*> m_vOutputPorts;
179 size_t m_profileTime;
186 #include "Node.impl.h"
void setDirty(bool value)
Sets node dirty state.
void removeInputPort(const std::string &name)
Removes the input port with the given name.
virtual void reset()
Reset function.
virtual ~Node()
Destructor.
virtual short baseNodeType() const
Base node type.
virtual bool compute(const ComputeData *computeData)
Compute function.
std::vector< std::string > getInputPortNames() const
Gets all input port names.
virtual unsigned int typeId() const =0
Type id.
virtual Node * clone()=0
clone object
virtual std::string typeStr() const =0
Type string.
std::vector< std::string > getOutputPortNames() const
Gets all output port names.
void addOutputPort(Port *port)
Adds output port.
void removeOutputPort(const std::string &name)
Removes the output port with the given name.
Port * getInputPort(const std::string &name)
Gets the input port with the given name.
void addInputPort(Port *port)
Adds input port.
Port * getOutputPort(const std::string &name)
Gets the output port with the given name.
BasePort class.
Definition: Port.h:26
AtomsGraph namespace.
Definition: PosePort.h:15