18 #ifndef _GAZEBO_DARTJOINT_HH_ 
   19 #define _GAZEBO_DARTJOINT_HH_ 
   21 #include <boost/any.hpp> 
   45       public: 
virtual void Load(sdf::ElementPtr _sdf);
 
   48       public: 
virtual void Init();
 
   51       public: 
virtual void Reset();
 
   54       public: 
virtual LinkPtr GetJointLink(
unsigned int _index) 
const;
 
   57       public: 
virtual bool AreConnected(
LinkPtr _one, 
LinkPtr _two) 
const;
 
   63       public: 
virtual void Detach();
 
   66       public: 
virtual void SetAnchor(
unsigned int ,
 
   70       public: 
virtual void SetDamping(
unsigned int _index, 
double _damping);
 
   73       public: 
virtual void SetStiffness(
unsigned int _index,
 
   74                   const double _stiffness);
 
   77       public: 
virtual void SetStiffnessDamping(
unsigned int _index,
 
   78         double _stiffness, 
double _damping, 
double _reference = 0);
 
   81       public: 
virtual bool SetHighStop(
unsigned int _index,
 
   85       public: 
virtual bool SetLowStop(
unsigned int _index,
 
   89       public: 
virtual math::Angle GetHighStop(
unsigned int _index);
 
   92       public: 
virtual math::Angle GetLowStop(
unsigned int _index);
 
   95       public: 
virtual math::Vector3 GetLinkForce(
unsigned int _index) 
const;
 
   98       public: 
virtual math::Vector3 GetLinkTorque(
unsigned int _index) 
const;
 
  101       public: 
virtual bool SetParam(
const std::string &_key,
 
  103                                         const boost::any &_value);
 
  106       public: 
virtual void SetAttribute(
const std::string &_key,
 
  108                                         const boost::any &_value)
 
  112       public: 
virtual double GetParam(
const std::string &_key,
 
  113                                           unsigned int _index);
 
  116       public: 
virtual double GetAttribute(
const std::string &_key,
 
  120       public: 
virtual JointWrench GetForceTorque(
unsigned int _index);
 
  123       public: 
virtual void SetForce(
unsigned int _index, 
double _force);
 
  126       public: 
virtual double GetForce(
unsigned int _index);
 
  129       public: 
virtual unsigned int GetAngleCount() 
const;
 
  132       public: 
virtual void ApplyDamping();
 
  142       protected: 
virtual void SetForceImpl(
unsigned int _index,
 
  148       private: 
void SaveForce(
unsigned int _index, 
double _force);
 
  156       public: dart::dynamics::Joint *GetDARTJoint();