Atoms Crowd  4.1.0
Atoms::StateMachineBaseNodeOperator Class Referenceabstract
Inheritance diagram for Atoms::StateMachineBaseNodeOperator:
Atoms::Operator Atoms::AgentNode AtomsGraph::Node Atoms::AnimationStateOperator Atoms::BlendSpaceOperator

Public Member Functions

void reset ()
 Operator reset function.
 
void resetTime ()
 
void setFps (double fps)
 
void setDoNotAdvanceClips (const bool value)
 
AgentBehaviourNetworknetwork ()
 
virtual bool isReadyToTransition (double frameRate=1.0, bool checkTransitionFrames=true, bool checkForceTransition=true)=0
 
virtual void advanceSingleClip (double timeStep, double frameStep, bool randomClip=false)=0
 
virtual double computeBlendInOffset (double frameRate, bool checkTransitionFrames=true)=0
 
virtual void computeBlendInOffsetInPlace (double frameRate, bool checkTransitionFrames=true)=0
 
virtual double getBlendInOffset ()=0
 
virtual void prepareForBlendIn (double offset, double timeStep)=0
 
virtual bool isBlendInStage (double offset, unsigned int blend)=0
 
virtual bool isBlendOutStage (double &frameDifference, unsigned int blend)=0
 
virtual double computeBlendInWeight (double offset, unsigned int blend)=0
 
virtual double computeBlendOutWeight (unsigned int blend)=0
 
virtual void setUpBlendOutFrame (double offset, double timeStep)=0
 
virtual bool isBlendOutFinished (unsigned int blend)=0
 
virtual void initSubState (double frame)=0
 
virtual bool hasClips ()=0
 
virtual void buildNetwork (const AtomsPtr< Atoms::StateMachine > &stateMachine, const Atoms::AnimationState &state, std::map< std::string, std::string > &clipToAgentTypeNames, std::mutex &mutex, AtomsCore::Rand32 *idRandom)=0
 
unsigned int blendIn ()
 
unsigned int blendOut ()
 
bool isOneShot ()
 
bool needLockDirectionForTurning ()
 
- Public Member Functions inherited from Atoms::Operator
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 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

AgentBehaviourNetwork m_network
 
AtomsGraph::DoublePortm_timePort
 
AtomsGraph::DoublePortm_fpsPort
 
unsigned int m_blendIn
 
unsigned int m_blendOut
 
bool m_doNotAdvanceClips
 
bool m_needLockDirectionForTurning
 
bool m_oneShot
 
bool m_resetTime
 
bool m_first
 
- Protected Attributes inherited from Atoms::Operator
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
 

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