22 #ifndef _BULLETJOINT_HH_    23 #define _BULLETJOINT_HH_    25 #include <boost/any.hpp>    50       public: 
virtual void Load(sdf::ElementPtr _sdf);
    53       public: 
virtual void Fini();
    56       public: 
virtual void Reset();
    60       public: 
LinkPtr GetJointLink(
unsigned int _index) 
const;
    66       public: 
virtual void Detach();
    69       public: 
virtual void SetAnchor(
unsigned int _index,
    73       public: 
virtual void SetDamping(
unsigned int _index, 
double _damping);
    76       public: 
virtual bool SetPosition(
unsigned int _index, 
double _position);
    79       public: 
virtual void SetStiffness(
unsigned int _index,
    80                   const double _stiffness);
    83       public: 
virtual void SetStiffnessDamping(
unsigned int _index,
    84         double _stiffness, 
double _damping, 
double _reference = 0);
    87       public: 
virtual math::Vector3 GetAnchor(
unsigned int _index) 
const;
    91       public: 
virtual math::Vector3 GetLinkForce(
unsigned int _index) 
const;
    95       public: 
virtual math::Vector3 GetLinkTorque(
unsigned int _index) 
const;
    98       public: 
virtual bool SetParam(
const std::string &_key,
   100                                         const boost::any &_value);
   103       public: 
virtual double GetParam(
const std::string &_key,
   104                                           unsigned int _index);
   107       public: 
virtual math::Angle GetHighStop(
unsigned int _index);
   110       public: 
virtual math::Angle GetLowStop(
unsigned int _index);
   113       public: 
virtual void SetProvideFeedback(
bool _enable);
   116       public: 
virtual void CacheForceTorque();
   119       public: 
virtual JointWrench GetForceTorque(
unsigned int _index);
   122       public: 
virtual void SetForce(
unsigned int _index, 
double _force);
   125       public: 
virtual double GetForce(
unsigned int _index);
   128       public: 
virtual void Init();
   131       public: 
virtual void ApplyStiffnessDamping();
   143       protected: 
virtual void SetForceImpl(
unsigned int _index,
   148       protected: 
void SetupJointFeedback();
   153       private: 
void SaveForce(
unsigned int _index, 
double _force);
   162       private: btJointFeedback *feedback;
   166       private: 
bool stiffnessDampingInitialized;
 boost::shared_ptr< Link > LinkPtr
Definition: PhysicsTypes.hh:100
 
Forward declarations for the common classes. 
Definition: Animation.hh:33
 
The Vector3 class represents the generic vector containing 3 elements. 
Definition: Vector3.hh:39
 
btTypedConstraint * constraint
Pointer to a contraint object in Bullet. 
Definition: BulletJoint.hh:156
 
btDynamicsWorld * bulletWorld
Pointer to Bullet's btDynamicsWorld. 
Definition: BulletJoint.hh:159
 
#define MAX_JOINT_AXIS
maximum number of axis per joint anticipated. 
Definition: Joint.hh:39
 
Base class for all joints. 
Definition: Joint.hh:50
 
Wrench information from a joint. 
Definition: JointWrench.hh:39
 
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message. 
 
An angle and related functions. 
Definition: Angle.hh:53
 
Base class for all joints. 
Definition: BulletJoint.hh:41
 
boost::shared_ptr< Base > BasePtr
Definition: PhysicsTypes.hh:72
 
A Time class, can be used to hold wall- or sim-time. 
Definition: Time.hh:44