17 #ifndef GAZEBO_PHYSICS_BULLET_BULLETLINK_HH_
18 #define GAZEBO_PHYSICS_BULLET_BULLETLINK_HH_
31 class BulletMotionState;
46 public:
virtual void Load(sdf::ElementPtr _ptr);
49 public:
virtual void Init();
52 public:
virtual void Fini();
55 public:
virtual void OnPoseChange();
58 public:
virtual void SetEnabled(
bool _enable)
const;
61 public:
virtual bool GetEnabled()
const;
64 public:
virtual void SetLinearVel(
const ignition::math::Vector3d &_vel);
67 public:
virtual void SetAngularVel(
const ignition::math::Vector3d &_vel);
70 public:
virtual void SetForce(
const ignition::math::Vector3d &_force);
73 public:
virtual void SetTorque(
const ignition::math::Vector3d &_torque);
76 public:
virtual ignition::math::Vector3d WorldLinearVel(
77 const ignition::math::Vector3d &_offset)
const;
80 public:
virtual ignition::math::Vector3d WorldLinearVel(
81 const ignition::math::Vector3d &_offset,
82 const ignition::math::Quaterniond &_q)
const;
85 public:
virtual ignition::math::Vector3d WorldCoGLinearVel()
const;
88 public:
virtual ignition::math::Vector3d WorldAngularVel()
const;
91 public:
virtual ignition::math::Vector3d WorldForce()
const;
94 public:
virtual ignition::math::Vector3d WorldTorque()
const;
97 public:
virtual void SetGravityMode(
bool _mode);
100 public:
virtual bool GetGravityMode()
const;
103 public:
virtual void SetSelfCollide(
bool _collide);
107 public: btRigidBody *GetBulletLink()
const;
110 public:
void RemoveAndAddBody()
const;
114 public:
void ClearCollisionCache();
117 public:
virtual void SetLinearDamping(
double _damping);
120 public:
virtual void SetAngularDamping(
double _damping);
127 public:
virtual void AddForce(
const ignition::math::Vector3d &_force);
130 public:
virtual void AddRelativeForce(
131 const ignition::math::Vector3d &_force);
134 public:
virtual void AddForceAtWorldPosition(
135 const ignition::math::Vector3d &_force,
136 const ignition::math::Vector3d &_pos);
139 public:
virtual void AddForceAtRelativePosition(
140 const ignition::math::Vector3d &_force,
141 const ignition::math::Vector3d &_relpos);
144 public:
virtual void AddLinkForce(
145 const ignition::math::Vector3d &_force,
146 const ignition::math::Vector3d &_offset =
147 ignition::math::Vector3d::Zero);
150 public:
virtual void AddTorque(
const ignition::math::Vector3d &_torque);
153 public:
virtual void AddRelativeTorque(
154 const ignition::math::Vector3d &_torque);
157 public:
virtual void SetAutoDisable(
bool _disable);
160 public:
virtual void SetLinkStatic(
bool _static);
163 public:
virtual void UpdateMass();
167 private: btCollisionShape *compoundShape;
174 private: btRigidBody *rigidLink;
Bullet Link class.
Definition: BulletLink.hh:37
boost::shared_ptr< BulletMotionState > BulletMotionStatePtr
Definition: BulletTypes.hh:46
Link class defines a rigid body entity, containing information on inertia, visual and collision prope...
Definition: Link.hh:65
boost::shared_ptr< BulletPhysics > BulletPhysicsPtr
Definition: BulletTypes.hh:47
Bullet wrapper forward declarations and typedefs.
boost::shared_ptr< Entity > EntityPtr
Definition: PhysicsTypes.hh:85
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
BulletMotionStatePtr motionState
Pointer to bullet motion state, which manages updates to the world pose from bullet.
Definition: BulletLink.hh:171