7 #ifndef DYNAMICS3D_MULTI_BODY_OBJECT_MODEL_H
8 #define DYNAMICS3D_MULTI_BODY_OBJECT_MODEL_H
11 class CDynamics3DMultiBodyObjectModel;
14 #include <argos3/plugins/simulator/physics_engines/dynamics3d/dynamics3d_model.h>
17 #pragma clang diagnostic push
18 #pragma clang diagnostic ignored "-Wreorder"
20 #pragma GCC diagnostic push
21 #pragma GCC diagnostic ignored "-Wreorder"
24 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletDynamics/Featherstone/btMultiBody.h>
25 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletDynamics/Featherstone/btMultiBodyLink.h>
26 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletDynamics/Featherstone/btMultiBodyLinkCollider.h>
29 #pragma clang diagnostic pop
31 #pragma GCC diagnostic pop
47 const std::shared_ptr<btCollisionShape>& ptr_shape,
54 virtual void AddToWorld(btMultiBodyDynamicsWorld& c_world);
58 virtual void ApplyForce(
const btVector3& c_force);
60 virtual void ApplyForce(
const btVector3& c_force,
61 const btVector3& c_offset);
63 virtual void ApplyTorque(
const btVector3& c_torque);
82 const std::shared_ptr<btCollisionShape>& ptr_shape,
89 virtual void ApplyForce(
const btVector3& c_force);
91 virtual void ApplyForce(
const btVector3& c_force,
92 const btVector3& c_offset);
94 virtual void ApplyTorque(
const btVector3& c_torque);
104 virtual void Reset();
111 virtual void AddToWorld(btMultiBodyDynamicsWorld& c_world);
unsigned int UInt32
32-bit unsigned integer.
The namespace containing all the ARGoS related code.
Basic class for an entity that contains other entities.
An anchor related to the body of an entity.
virtual void UpdateOriginAnchor(SAnchor &s_anchor)
virtual void RemoveFromWorld(btMultiBodyDynamicsWorld &c_world)
virtual ~CDynamics3DMultiBodyObjectModel()
virtual void CalculateBoundingBox()
Calculates the axis-aligned box that contains the entire physics model.
virtual void AddToWorld(btMultiBodyDynamicsWorld &c_world)
virtual void MoveTo(const CVector3 &c_position, const CQuaternion &c_orientation)
btMultiBody & GetMultiBody()
CDynamics3DMultiBodyObjectModel(CDynamics3DEngine &c_engine, CComposableEntity &c_entity, UInt32 un_num_links, bool b_fixed_base)
virtual void ApplyForce(const btVector3 &c_force)
virtual void ApplyTorque(const btVector3 &c_torque)
CDynamics3DMultiBodyObjectModel & m_cModel
CLink(CDynamics3DMultiBodyObjectModel &c_model, UInt32 un_link_index, SAnchor *ps_anchor, const std::shared_ptr< btCollisionShape > &ptr_shape, const SData &s_data)
virtual btTransform & GetTransform()
virtual void RemoveFromWorld(btMultiBodyDynamicsWorld &c_world)
virtual void AddToWorld(btMultiBodyDynamicsWorld &c_world)
btMultiBodyLinkCollider m_cMultiBodyLink
CBase(CDynamics3DMultiBodyObjectModel &c_model, SAnchor *ps_anchor, const std::shared_ptr< btCollisionShape > &ptr_shape, const SData &s_data)
virtual void ApplyTorque(const btVector3 &c_torque)
virtual void ApplyForce(const btVector3 &c_force)