Atoms Crowd  4.1.0
Atoms::Operator Class Referenceabstract

Operator node. More...

#include <Operator.h>

Inheritance diagram for Atoms::Operator:
Atoms::AgentNode AtomsGraph::Node Atoms::AdditiveClipOperator Atoms::AgentJointWorldPositionOperator Atoms::BindPoseOperator Atoms::BufferOperator Atoms::CacheReaderOperator Atoms::ClipReaderOperator Atoms::CloneAgentOperator Atoms::FootOperator Atoms::JointAimOperator Atoms::JointConstraintOperator Atoms::JointIkOperator Atoms::JointTransformOperator Atoms::MergeOperator Atoms::ParticleOperator Atoms::PelvisOperator Atoms::RagdollOperator Atoms::SetAgentJointPoseNode Atoms::StateMachineBaseNodeOperator Atoms::StateMachineOperator Atoms::SyncOperator ATOMSUSD_NS::UsdCacheReaderOperator

Public Member Functions

virtual std::string typeStr () const =0
 Type string. More...
 
virtual unsigned int typeId () const =0
 Type id. More...
 
 Operator ()
 Constructor.
 
virtual ~Operator ()
 Destructor.
 
const AtomsCore::Posepose ()
 Get output pose.
 
AtomsGraph::PosePortoutPosePort ()
 Get output pose port.
 
virtual void reset ()
 Operator reset function.
 
virtual short baseNodeType () const
 Base node type.
 
const AtomsCore::SkeletonLodskeletonLod () const
 Return the active skeleton sim lod data.
 
virtual void computeFullPose (AtomsCore::Pose &FullPose)
 
- Public Member Functions inherited from Atoms::AgentNode
 AgentNode ()
 Constructor.
 
virtual ~AgentNode ()
 Destructor.
 
Agentagent ()
 Get agent.
 
void setAgent (Agent *agent)
 Set agent.
 
- Public Member Functions inherited from AtomsGraph::Node
 Node ()
 Constructor.
 
virtual ~Node ()
 Destructor.
 
virtual Nodeclone ()=0
 clone object More...
 
virtual bool compute (const ComputeData *computeData)
 Compute function.
 
void addInputPort (Port *port)
 Adds input port.
 
template<class T >
T * getInputPort (const std::string &name)
 Gets input port.
 
PortgetInputPort (const std::string &name)
 Gets the input port with the given name.
 
void removeInputPort (const std::string &name)
 Removes the input port with the given name.
 
std::vector< std::string > getInputPortNames () const
 Gets all input port names.
 
port_iterator inputPortBegin ()
 Inputs port begin iterator.
 
port_iterator inputPortEnd ()
 Inputs port end iterator.
 
const_port_iterator inputPortCBegin () const
 Input port begin iterator.
 
const_port_iterator inputPortCEnd () const
 Input port end iterator.
 
size_t numInputPorts () const
 Gets number of input ports.
 
void addOutputPort (Port *port)
 Adds output port.
 
template<class T >
T * getOutputPort (const std::string &name)
 Gets the output port with the given name.
 
PortgetOutputPort (const std::string &name)
 Gets the output port with the given name.
 
void removeOutputPort (const std::string &name)
 Removes the output port with the given name.
 
std::vector< std::string > getOutputPortNames () const
 Gets all output port names.
 
port_iterator outputPortBegin ()
 Output port begin iterator.
 
port_iterator outputPortEnd ()
 Output port end iterator.
 
const_port_iterator outputPortCBegin () const
 Output port begin iterator.
 
const_port_iterator outputPortCEnd () const
 Output port end iterator.
 
size_t numOutputPorts () const
 Gets number of output ports.
 
void setDirty (bool value)
 Sets node dirty state.
 
bool isDirty () const
 Returns true if the node is dirty.
 
void setDirtyFlag ()
 This set node dirty without propagate the dirty to the connected nodes.
 
std::string name () const
 Gets the node name.
 
void setName (const std::string &name)
 Sets the node name.
 
void setProfileTime (size_t value)
 Set the profile time.
 
size_t profileTime () const
 Get the profile time.
 

Protected Attributes

AtomsGraph::BooleanPortm_activePort
 Operator Active port.
 
AtomsGraph::PosePortm_outPose
 Output pose port.
 
- Protected Attributes inherited from Atoms::AgentNode
Agentm_agent
 Agent.
 

Additional Inherited Members

- Public Types inherited from AtomsGraph::Node
typedef std::vector< Port * >::iterator port_iterator
 
typedef std::vector< Port * >::const_iterator const_port_iterator
 

Detailed Description

Operator node.

An operator is a specialized node with a default outpose port. It inherits from the AgentNode class, hence it has a pointer to the agent owning this operator instance. Inherit from this class and override the compute function when writing a new operator.

Member Function Documentation

◆ typeId()

virtual unsigned int Atoms::Operator::typeId ( ) const
pure virtual

Type id.

Returns
Class type id

Implements Atoms::AgentNode.

◆ typeStr()

virtual std::string Atoms::Operator::typeStr ( ) const
pure virtual

Type string.

Returns
Class type string

Implements Atoms::AgentNode.


The documentation for this class was generated from the following files: