17 #ifndef _GAZEBO_SKELETONANIMATION_HH_    18 #define _GAZEBO_SKELETONANIMATION_HH_    24 #include <ignition/math/Matrix4.hh>    25 #include <ignition/math/Pose3.hh>    52       public: 
void SetName(
const std::string &_name);
    56       public: std::string GetName() 
const;
    61       public: 
void AddKeyFrame(
const double _time,
    62                   const ignition::math::Matrix4d &_trans);
    67       public: 
void AddKeyFrame(
const double _time,
    68                   const ignition::math::Pose3d &_pose);
    72       public: 
unsigned int GetFrameCount() 
const;
    80       public: 
void GetKeyFrame(
const unsigned int _i, 
double &_time,
    81                   ignition::math::Matrix4d &_trans) 
const;
    88       public: std::pair<double, ignition::math::Matrix4d> 
KeyFrame(
    89                       const unsigned int _i) 
const;
    93       public: 
double GetLength() 
const;
   101       public: ignition::math::Matrix4d FrameAt(
   102                   double _time, 
bool _loop = 
true) 
const;
   107       public: 
void Scale(
const double _scale);
   115       public: 
double GetTimeAtX(
const double _x) 
const;
   121       protected: std::map<double, ignition::math::Matrix4d> 
keyFrames;
   140       public: 
void SetName(
const std::string &_name);
   144       public: std::string GetName() 
const;
   148       public: 
unsigned int GetNodeCount() 
const;
   153       public: 
bool HasNode(
const std::string &_node) 
const;
   159       public: 
void AddKeyFrame(
const std::string &_node, 
const double _time,
   160                       const ignition::math::Matrix4d &_mat);
   167       public: 
void AddKeyFrame(
const std::string &_node, 
const double _time,
   168                       const ignition::math::Pose3d &_pose);
   179       public: ignition::math::Matrix4d NodePoseAt(
const std::string &_node,
   180                       const double _time, 
const bool _loop = 
true);
   190       public: std::map<std::string, ignition::math::Matrix4d> PoseAt(
   191                   const double _time, 
const bool _loop = 
true) 
const;
   201       public: std::map<std::string, ignition::math::Matrix4d> PoseAtX(
   202                   const double _x, 
const std::string &_node,
   203                   const bool _loop = 
true) 
const;
   208       public: 
void Scale(
const double _scale);
   212       public: 
double GetLength() 
const;
 Forward declarations for the common classes. 
Definition: Animation.hh:33
 
double length
the duration of the longest animation 
Definition: SkeletonAnimation.hh:218
 
Skeleton animation. 
Definition: SkeletonAnimation.hh:128
 
std::map< double, ignition::math::Matrix4d > keyFrames
the dictionary of key frames, indexed by time 
Definition: SkeletonAnimation.hh:121
 
std::string name
the node name 
Definition: SkeletonAnimation.hh:215
 
std::map< std::string, NodeAnimation * > animations
a dictionary of node animations 
Definition: SkeletonAnimation.hh:221
 
A key frame in an animation. 
Definition: KeyFrame.hh:37
 
std::string name
the name of the animation 
Definition: SkeletonAnimation.hh:118
 
double length
the duration of the animations (time of last key frame) 
Definition: SkeletonAnimation.hh:124
 
Node animation. 
Definition: SkeletonAnimation.hh:41