18 #ifndef _GAZEBO_DARTPHYSICS_HH_
19 #define _GAZEBO_DARTPHYSICS_HH_
23 #include <boost/thread/thread.hpp>
24 #include <boost/thread/mutex.hpp>
39 class DARTPhysicsPrivate;
85 public:
virtual void Load(sdf::ElementPtr _sdf);
88 public:
virtual void Init();
91 public:
virtual void Fini();
94 public:
virtual void Reset();
97 public:
virtual void InitForThread();
100 public:
virtual void UpdateCollision();
103 public:
virtual void UpdatePhysics();
106 public:
virtual std::string GetType()
const;
109 public:
virtual void SetSeed(uint32_t _seed);
118 public:
virtual CollisionPtr CreateCollision(
const std::string &_type,
122 public:
virtual JointPtr CreateJoint(
const std::string &_type,
126 public:
virtual ShapePtr CreateShape(
const std::string &_shapeType,
130 public:
virtual void SetGravity(
const ignition::math::Vector3d &_gravity);
133 public:
virtual void DebugPrint()
const;
136 public:
virtual boost::any GetParam(
const std::string &_key)
const;
139 public:
virtual bool GetParam(
const std::string &_key,
140 boost::any &_value)
const;
143 public:
virtual bool SetParam(
const std::string &_key,
144 const boost::any &_value);
149 public: dart::simulation::World *GetDARTWorld() const
154 public: dart::simulation::
WorldPtr DARTWorld() const;
157 protected: virtual
void OnRequest(ConstRequestPtr &_msg);
160 protected: virtual
void OnPhysicsMsg(ConstPhysicsPtr &_msg);
166 const dart::dynamics::BodyNode *_dtBodyNode);
170 private: DARTPhysicsPrivate *dataPtr =
nullptr;
boost::shared_ptr< Link > LinkPtr
Definition: PhysicsTypes.hh:109
boost::shared_ptr< World > WorldPtr
Definition: PhysicsTypes.hh:89
Base class for a physics engine.
Definition: PhysicsEngine.hh:41
DART physics engine.
Definition: DARTPhysics.hh:47
DARTParam
DART physics parameter types.
Definition: DARTPhysics.hh:51
boost::shared_ptr< Joint > JointPtr
Definition: PhysicsTypes.hh:117
boost::shared_ptr< DARTLink > DARTLinkPtr
Definition: DARTTypes.hh:46
DART wrapper forward declarations and typedefs.
#define GAZEBO_DEPRECATED(version)
Definition: system.hh:302
boost::shared_ptr< Shape > ShapePtr
Definition: PhysicsTypes.hh:141
Maximum number of contacts.
Definition: DARTPhysics.hh:72
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:93
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
boost::shared_ptr< Collision > CollisionPtr
Definition: PhysicsTypes.hh:113
boost::shared_ptr< Base > BasePtr
Definition: PhysicsTypes.hh:77