17 #ifndef _GAZEBO_BULLETUNIVERSALJOINT_HH_
18 #define _GAZEBO_BULLETUNIVERSALJOINT_HH_
27 class btUniversalConstraint;
48 public:
virtual void Load(sdf::ElementPtr _sdf);
51 public:
virtual void Init();
54 public:
virtual math::Vector3 GetAnchor(
unsigned int _index)
const;
57 public:
void SetAxis(
unsigned int _index,
const math::Vector3 &_axis);
60 public:
virtual void SetVelocity(
unsigned int _index,
double _angle);
63 public:
virtual double GetVelocity(
unsigned int _index)
const;
66 public:
virtual void SetMaxForce(
unsigned int _index,
double _t);
69 public:
virtual double GetMaxForce(
unsigned int _index);
72 public:
virtual bool SetHighStop(
unsigned int _index,
76 public:
virtual bool SetLowStop(
unsigned int _index,
80 public:
virtual math::Angle GetHighStop(
unsigned int _index);
83 public:
virtual math::Angle GetLowStop(
unsigned int _index);
86 public:
virtual math::Vector3 GetGlobalAxis(
unsigned int _index)
const;
89 public:
virtual math::Angle GetAngleImpl(
unsigned int _index)
const;
92 public:
virtual bool SetParam(
const std::string &_key,
94 const boost::any &_value);
97 public:
virtual double GetParam(
const std::string &_key,
101 protected:
virtual void SetForceImpl(
unsigned int _index,
double _torque);
108 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:38
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