17 #ifndef _GAZEBO_BULLETUNIVERSALJOINT_HH_
18 #define _GAZEBO_BULLETUNIVERSALJOINT_HH_
26 class btUniversalConstraint;
47 public:
virtual void Load(sdf::ElementPtr _sdf);
50 public:
virtual void Init();
53 public:
virtual math::Vector3 GetAnchor(
unsigned int _index)
const;
56 public:
void SetAxis(
unsigned int _index,
const math::Vector3 &_axis);
59 public:
virtual void SetVelocity(
unsigned int _index,
double _angle);
62 public:
virtual double GetVelocity(
unsigned int _index)
const;
65 public:
virtual void SetMaxForce(
unsigned int _index,
double _t);
68 public:
virtual double GetMaxForce(
unsigned int _index);
71 public:
virtual bool SetHighStop(
unsigned int _index,
75 public:
virtual bool SetLowStop(
unsigned int _index,
79 public:
virtual math::Angle GetHighStop(
unsigned int _index);
82 public:
virtual math::Angle GetLowStop(
unsigned int _index);
85 public:
virtual math::Vector3 GetGlobalAxis(
unsigned int _index)
const;
88 public:
virtual math::Angle GetAngleImpl(
unsigned int _index)
const;
91 protected:
virtual void SetForceImpl(
unsigned int _index,
double _torque);
98 private:
double angleOffset[2];
boost::shared_ptr< Base > BasePtr
Definition: PhysicsTypes.hh:66
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:43
gzBtUniversalConstraint(btRigidBody &_rbA, btRigidBody &_rbB, const btVector3 &_anchor, const btVector3 &_axis1, const btVector3 &_axis2)
Constructor.
A bullet universal joint class.
Definition: BulletUniversalJoint.hh:37
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
A universal joint.
Definition: UniversalJoint.hh:36
An angle and related functions.
Definition: Angle.hh:52
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48