10 #include <AtomsCore/Globals.h>
11 #include <AtomsCore/AtomsMath.h>
12 #include <AtomsCore/JointPose.h>
13 #include <AtomsCore/Metadata/MapMetadata.h>
14 #include <AtomsCore/Serialiser.h>
31 class ATOMSCORE_EXPORT
Pose
67 inline unsigned short numJoints()
const;
73 inline JointPose& jointPose(
unsigned short index);
79 inline const JointPose& jointPose(
unsigned short index)
const;
86 inline void setJointPose(
unsigned short index,
const JointPose& jointPose);
89 inline void clearAllPose();
127 inline MapMetadata& jointMetadata(
unsigned short index);
141 inline void setJointMetadata(
unsigned short index,
const MapMetadata& data);
149 inline void addJointMetadata(
unsigned short index,
const std::string& key,
Metadata *data);
157 inline void addJointMetadata(
unsigned short index,
const std::string& key,
const AtomsPtr<Metadata> data);
182 inline void addPoseMetadata(
const std::string& key,
Metadata *data);
185 inline void clearPoseMetadata();
188 inline void clearJointsMetadata();
199 size_t hash(
short roundBits = 10)
const;
201 void resetActiveJoints();
203 void setActiveJoints(
const std::vector<short>& flags);
205 void setActiveJoint(
size_t index,
bool value);
207 bool isJointActive(
size_t index)
const;
210 inline void setInParentSpace(
bool flag);
213 inline bool inParentSpace()
const;
224 std::vector<JointPose> m_jointPose;
236 std::vector<short> m_activeJoints;
239 bool m_inParentSpace;
251 #include "Pose.impl.h"
Archive class.
Definition: Serialiser.h:29
Joint pose.
Definition: JointPose.h:20
Pose class.
Definition: Pose.h:32
std::vector< unsigned short > jointMetadataIds() const
Gets the ids of the joints that have some metadatas.
Pose(const Pose &rhs)
Copy constructor.
bool jointHasMetadata(unsigned short index) const
Checks if a joint has some metadata.
size_t hash(short roundBits=10) const
Return the hash of this pose.
Pose(const Skeleton *skeleton, bool inParentSpace=false)
Constructor.
void setNumberJoints(unsigned short n)
Sets the number of joints.
const MapMetadata & jointMetadata(unsigned short index) const
Gets the joint metadata.
void convertToLocalSpace(const Skeleton *skeleton)
Converts this pose to local space.
size_t memSize() const
Gets the memory size.
Pose & operator=(const Pose &rhs)
Assign operator.
void convertToParentSpace(const Skeleton *skeleton)
Converts this pose to parent space.
void clearJointMetadata(unsigned short index)
Clears joint metadata.
std::map< unsigned short, MapMetadata > JointMetadataMap
Joint metadata map.
Definition: Pose.h:36
Skeleton class.
Definition: Skeleton.h:68
AtomsCore namespace.
Definition: Agent.h:344
Pose * PosePtr
Fwd declaration.
Definition: Pose.h:21
const Pose * PoseCPtr
Pose const pointer.
Definition: Pose.h:25
AtomsMath::Vector3 Vector3
Vector3 class.
Definition: AtomsMath.h:57