44 class recursive_mutex;
67 public:
virtual void Load(sdf::ElementPtr _sdf);
70 public:
virtual void Fini();
73 public:
virtual void Reset();
77 public:
virtual void UpdateParameters(sdf::ElementPtr _sdf);
81 public:
virtual void SetName(
const std::string &_name);
85 public:
void SetStatic(
const bool &_static);
89 public:
bool IsStatic()
const;
93 public:
void SetInitialRelativePose(
const math::Pose &_pose);
97 public:
math::Pose GetInitialRelativePose()
const;
101 public:
virtual math::Box GetBoundingBox()
const;
106 {
return this->worldPose;}
116 public:
void SetRelativePose(
const math::Pose &_pose,
118 bool _publish =
true);
124 public:
void SetWorldPose(
const math::Pose &_pose,
126 bool _publish =
true);
170 public:
void SetCanonicalLink(
bool _value);
175 {
return this->isCanonicalLink;}
181 boost::function<
void()> _onComplete);
188 public:
virtual void StopAnimation();
197 public:
CollisionPtr GetChildCollision(
const std::string &_name);
202 public:
LinkPtr GetChildLink(
const std::string &_name);
208 public:
void GetNearestEntityBelow(
double &_distBelow,
209 std::string &_entityName);
212 public:
void PlaceOnNearestEntityBelow();
217 public:
void PlaceOnEntity(
const std::string &_entityName);
221 public:
math::Box GetCollisionBoundingBox()
const;
230 bool _updateChildren =
true);
237 public:
const math::Pose &GetDirtyPose()
const;
240 private:
void PublishPose();
251 private:
void SetWorldPoseModel(
const math::Pose &_pose,
259 private:
void SetWorldPoseCanonicalLink(
const math::Pose &_pose,
260 bool _notify,
bool _publish);
266 private:
void SetWorldPoseDefault(
const math::Pose &_pose,
bool _notify,
271 private:
void OnPoseMsg(ConstPosePtr &_msg);
275 protected:
virtual void OnPoseChange() = 0;
282 private:
void UpdatePhysicsPose(
bool update_children =
true);
292 private:
bool isStatic;
295 private:
bool isCanonicalLink;
343 private: boost::function<void()> onAnimationComplete;