3 #include <Core/Animation/HandleArray.hpp>
4 #include <Core/Containers/AdjacencyList.hpp>
40 inline uint
size()
const override {
return m_graph.size(); }
41 void clear()
override;
42 const Pose& getPose(
const SpaceType MODE )
const override;
43 void setPose(
const Pose& pose,
const SpaceType MODE )
override;
44 const Transform& getTransform(
const uint i,
const SpaceType MODE )
const override;
50 void setTransform(
const uint i,
const Transform& T,
const SpaceType MODE )
override;
58 uint addRoot(
const Transform& T = Transform::Identity(),
const Label label =
"" );
68 uint addBone(
const uint parent,
69 const Transform& T = Transform::Identity(),
71 const Label label =
"" );
81 void getBonePoints( uint i, Vector3& startOut, Vector3& endOut )
const;
84 Vector3 projectOnBone( uint boneIdx,
const Vector3& pos )
const;
87 friend std::ostream& operator<<( std::ostream& os,
const Skeleton& skeleton );
95 void setLocalTransform( uint i,
const Transform& T );
102 void setModelTransform( uint i,
const Transform& T );
ModelPose m_modelSpace
Skeleton pose in MODEL space.
uint size() const override
AdjacencyList m_graph
The Joint hierarchy.