36 typedef std::map<unsigned int, SkeletonNode*>
NodeMap;
37 typedef std::map<unsigned int, SkeletonNode*>::iterator
NodeMapIter;
39 typedef std::map<double, std::vector<NodeTransform> >
RawNodeAnim;
42 typedef std::vector<std::vector<std::pair<std::string, double> > >
83 public:
SkeletonNode* GetNodeByHandle(
unsigned int _handle);
87 public:
unsigned int GetNumNodes();
91 public:
unsigned int GetNumJoints();
95 public:
void Scale(
double _scale);
106 public:
void PrintTransforms();
113 public:
void SetNumVertAttached(
unsigned int _vertices);
119 public:
void AddVertNodeWeight(
unsigned int _vertex, std::string _node,
125 public:
unsigned int GetNumVertNodeWeights(
unsigned int _vertex);
131 public: std::pair<std::string, double> GetVertNodeWeight(
unsigned int _v,
136 public:
unsigned int GetNumAnimations();
150 protected:
void BuildNodeMap();
165 protected: std::vector<SkeletonAnimation*>
anims;
185 std::string _id, SkeletonNodeType _type = JOINT);
192 public:
void SetName(std::string _name);
196 public: std::string GetName();
200 public:
void SetId(std::string _id);
204 public: std::string GetId();
208 public:
void SetType(SkeletonNodeType _type);
212 public:
bool IsJoint();
219 bool _updateChildren =
true);
226 bool _updateChildren =
true);
229 public:
void UpdateChildrenTransforms();
238 public:
void Reset(
bool _resetChildren);
253 public:
bool IsRootNode();
261 public:
unsigned int GetChildCount();
271 public:
SkeletonNode* GetChildByName(std::string _name);
280 public:
void SetHandle(
unsigned int _h);
284 public:
unsigned int GetHandle();
300 public: std::vector<NodeTransform> GetRawTransforms();
304 public:
unsigned int GetNumRawTrans();
317 public: std::vector<NodeTransform> GetTransforms();
323 protected: std::string
id;
369 TransformType _type = MATRIX);
380 public:
void SetType(TransformType _type);
384 public:
void SetSID(std::string _sid);
392 public: TransformType GetType();
396 public: std::string GetSID();
401 public:
void SetComponent(
unsigned int _idx,
double _value);
413 public:
void SetSourceValues(
math::Vector3 _axis,
double _angle);
416 public:
void RecalculateMatrix();
419 public:
void PrintSource();
436 protected: std::string
sid;
std::map< unsigned int, SkeletonNode * > NodeMap
Definition: Skeleton.hh:34
A skeleton.
Definition: Skeleton.hh:50
math::Matrix4 transform
the transform
Definition: Skeleton.hh:329
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:43
std::string id
a string identifier
Definition: Skeleton.hh:323
Skeleton animation.
Definition: SkeletonAnimation.hh:121
std::vector< SkeletonNode * > children
the children nodes
Definition: Skeleton.hh:344
std::string name
the name of the skeletal node
Definition: Skeleton.hh:320
A 3x3 matrix class.
Definition: Matrix4.hh:39
math::Matrix4 initialTransform
the initial transformation
Definition: Skeleton.hh:332
std::vector< SkeletonAnimation * > anims
the array of animations
Definition: Skeleton.hh:165
math::Matrix4 invBindTransform
the inverse of the bind pose skeletal transform
Definition: Skeleton.hh:338
std::vector< NodeTransform > rawTransforms
the raw transformation
Definition: Skeleton.hh:350
std::map< unsigned int, SkeletonNode * >::iterator NodeMapIter
Definition: Skeleton.hh:37
SkeletonNodeType
enumeration of node types
Definition: Skeleton.hh:173
NodeMap nodes
The dictionary of nodes, indexed by name.
Definition: Skeleton.hh:156
SkeletonNodeType type
the type fo node
Definition: Skeleton.hh:326
math::Matrix4 bindShapeTransform
the bind pose skeletal transform
Definition: Skeleton.hh:159
RawNodeWeights rawNW
the node weight table
Definition: Skeleton.hh:162
math::Matrix4 modelTransform
the model transformation
Definition: Skeleton.hh:335
SkeletonNode * parent
the parent node
Definition: Skeleton.hh:341
std::map< double, std::vector< NodeTransform > > RawNodeAnim
Definition: Skeleton.hh:39
unsigned int handle
handle index number
Definition: Skeleton.hh:347
A skeleton node.
Definition: Skeleton.hh:170
GAZEBO_VISIBLE void Set(common::Image &_img, const msgs::Image &_msg)
Convert a msgs::Image to a common::Image.
std::vector< std::vector< std::pair< std::string, double > > > RawNodeWeights
Definition: Skeleton.hh:43
SkeletonNode * root
the root node
Definition: Skeleton.hh:153
std::map< std::string, RawNodeAnim > RawSkeletonAnim
Definition: Skeleton.hh:40
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48