18 #ifndef _SIMBODY_LINK_HH_    19 #define _SIMBODY_LINK_HH_    48       public: 
virtual void Load(sdf::ElementPtr _ptr);
    51       public: 
virtual void Init();
    54       public: 
virtual void Fini();
    57       public: 
virtual void OnPoseChange();
    60       public: 
virtual void SetEnabled(
bool enable) 
const;
    63       public: 
virtual bool GetEnabled() 
const;
    69       public: 
virtual void SetAngularVel(
const math::Vector3 &_vel);
    99       public: 
virtual void SetGravityMode(
bool _mode);
   102       public: 
virtual bool GetGravityMode() 
const;
   105       public: 
virtual void SetSelfCollide(
bool _collide);
   108       public: 
virtual void SetLinearDamping(
double _damping);
   111       public: 
virtual void SetAngularDamping(
double _damping);
   117       public: 
virtual void AddRelativeForce(
const math::Vector3 &_force);
   120       public: 
virtual void AddForceAtWorldPosition(
const math::Vector3 &_force,
   124       public: 
virtual void AddForceAtRelativePosition(
   129       public: 
virtual void AddLinkForce(
const math::Vector3 &_force,
   133       public: 
virtual void AddTorque(
const math::Vector3 &_torque);
   136       public: 
virtual void AddRelativeTorque(
const math::Vector3 &_torque);
   139       public: 
virtual void SetAutoDisable(
bool _disable);
   142       public: 
virtual void SaveSimbodyState(
const SimTK::State &_state);
   145       public: 
virtual void RestoreSimbodyState(SimTK::State &_state);
   152       public: 
virtual void SetLinkStatic(
bool _static);
   157       public: SimTK::MassProperties GetMassProperties() 
const;
   159       public: SimTK::MassProperties GetEffectiveMassProps(
   160         int _numFragments) 
const;
   162       public: 
void SetDirtyPose(
const math::Pose &_pose);
   165       public: 
virtual void UpdateMass();
   169       private: 
void ProcessSetGravityMode();
   173       private: 
void ProcessSetLinkStatic();
   194       private: 
bool gravityMode;
   197       private: 
bool staticLinkDirty;
   200       private: 
bool gravityModeDirty;
   203       private: 
bool staticLink;
   212       private: std::vector<double> simbodyQ;
   215       private: std::vector<double> simbodyU;
 
Forward declarations for the common classes. 
Definition: Animation.hh:33
 
Encapsulates a position and rotation in three space. 
Definition: Pose.hh:37
 
The Vector3 class represents the generic vector containing 3 elements. 
Definition: Vector3.hh:39
 
Link class defines a rigid body entity, containing information on inertia, visual and collision prope...
Definition: Link.hh:68
 
GAZEBO_VISIBLE void enable()
Enable sensors. 
 
boost::shared_ptr< SimbodyPhysics > SimbodyPhysicsPtr
Definition: SimbodyTypes.hh:40
 
SimTK::MobilizedBody masterMobod
Definition: SimbodyLink.hh:181
 
Simbody Link class. 
Definition: SimbodyLink.hh:39
 
A quaternion class. 
Definition: Quaternion.hh:42
 
Simbody wrapper forward declarations and typedefs. 
 
std::vector< SimTK::MobilizedBody > slaveMobods
Definition: SimbodyLink.hh:188
 
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:153
 
boost::shared_ptr< Entity > EntityPtr
Definition: PhysicsTypes.hh:80
 
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message. 
 
bool physicsInitialized
Definition: SimbodyLink.hh:184
 
static const Vector3 Zero
math::Vector3(0, 0, 0) 
Definition: Vector3.hh:42
 
bool mustBeBaseLink
: Force this link to be a base body, where its inboard body is the world with 6DOF. 
Definition: SimbodyLink.hh:177
 
std::vector< SimTK::Constraint::Weld > slaveWelds
Definition: SimbodyLink.hh:191