Atoms Crowd  4.1.0
Operator.h
1 #pragma once
2 // ===========================================================================
3 // Copyright (c) 2015 Toolchefs Ltd. All rights reserved.
4 //
5 // Use of this software is subject to the terms of the Toolchefs license
6 // agreement provided at the time of installation or download, or which
7 // otherwise accompanies this software in either electronic or hard copy form.
8 // ===========================================================================
9 
10 #include <Atoms/Globals.h>
11 #include <Atoms/Graph/PosePort.h>
12 #include <Atoms/Graph/AgentNode.h>
13 #include <AtomsGraph/Ports.h>
14 #include <AtomsCore/Skeleton.h>
15 
16 namespace Atoms
17 {
18  class Agent;
19 
21 
25  class ATOMS_EXPORT Operator : public AgentNode
26  {
27  public:
28 
30 
33  virtual std::string typeStr() const = 0;
34 
36 
39  virtual unsigned int typeId() const = 0;
40 
43 
45  virtual ~Operator();
46 
49 
51  inline AtomsGraph::PosePort* outPosePort();
52 
54  virtual void reset();
55 
57  virtual short baseNodeType() const;
58 
61 
62  virtual void computeFullPose(AtomsCore::Pose& FullPose);
63 
64  protected:
65 
68 
71  };
72 }
73 
74 #include "Operator.impl.h"
Atoms::Operator::baseNodeType
virtual short baseNodeType() const
Base node type.
Atoms::Operator::Operator
Operator()
Constructor.
Atoms::AgentNode
Agent node.
Definition: AgentNode.h:22
Atoms::Operator::skeletonLod
const AtomsCore::SkeletonLod * skeletonLod() const
Return the active skeleton sim lod data.
Atoms::Operator::m_activePort
AtomsGraph::BooleanPort * m_activePort
Operator Active port.
Definition: Operator.h:67
Atoms::Operator::typeId
virtual unsigned int typeId() const =0
Type id.
AtomsCore::SkeletonLod
Definition: Skeleton.h:25
Atoms::Operator::pose
const AtomsCore::Pose & pose()
Get output pose.
AtomsGraph::PortTemplate
Generic node port class.
Definition: PortTemplate.h:24
Atoms
Atoms namespace.
Definition: Agent.h:28
Atoms::Operator::typeStr
virtual std::string typeStr() const =0
Type string.
Atoms::Operator::reset
virtual void reset()
Operator reset function.
Atoms::Operator::m_outPose
AtomsGraph::PosePort * m_outPose
Output pose port.
Definition: Operator.h:70
AtomsCore::Pose
Pose class.
Definition: Pose.h:32
Atoms::Operator::~Operator
virtual ~Operator()
Destructor.
Atoms::Operator
Operator node.
Definition: Operator.h:26