67 public:
virtual ~Link();
71 public:
virtual void Load(sdf::ElementPtr _sdf);
74 public:
virtual void Init();
99 public:
virtual void SetEnabled(
bool _enable)
const = 0;
289 public:
CollisionPtr GetCollisionById(
unsigned int _id)
const;
330 public:
virtual void SetKinematic(
const bool &_kinematic);
356 public: std::string
GetSensorName(
unsigned int _index)
const;
361 public:
template<
typename T>
363 {
return enabledSignal.
Connect(_subscriber);}
372 public:
void FillMsg(msgs::Link &_msg);
376 public:
void ProcessMsg(
const msgs::Link &_msg);
456 private:
void PublishData();
460 private:
void LoadCollision(sdf::ElementPtr _sdf);
464 private:
void SetInertialFromCollisions();
468 private:
void OnCollision(ConstContactsPtr &_msg);
471 private:
void ParseVisuals();
499 private:
bool enabled;
502 private: std::vector<std::string> sensors;
505 private: std::vector<JointPtr> parentJoints;
508 private: std::vector<JointPtr> childJoints;
511 private: std::vector<ModelPtr> attachedModels;
517 private: msgs::LinkData linkDataMsg;
520 private: std::vector<event::ConnectionPtr> connections;
523 private:
bool publishData;
526 private: boost::recursive_mutex *publishDataMutex;
533 private: std::vector<util::OpenALSourcePtr> audioSources;