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>
15 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletDynamics/Featherstone/btMultiBody.h>
16 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletDynamics/Featherstone/btMultiBodyLink.h>
17 #include <argos3/plugins/simulator/physics_engines/dynamics3d/bullet/BulletDynamics/Featherstone/btMultiBodyLinkCollider.h>
25 class CLink :
public CAbstractBody {
32 std::shared_ptr<btCollisionShape>& ptr_shape,
39 virtual void AddToWorld(btMultiBodyDynamicsWorld& c_world);
43 virtual void ApplyForce(
const btVector3& c_force);
45 virtual void ApplyForce(
const btVector3& c_force,
46 const btVector3& c_offset);
48 virtual void ApplyTorque(
const btVector3& c_torque);
67 std::shared_ptr<btCollisionShape>& ptr_shape,
74 virtual void ApplyForce(
const btVector3& c_force);
76 virtual void ApplyForce(
const btVector3& c_force,
77 const btVector3& c_offset);
79 virtual void ApplyTorque(
const btVector3& c_torque);
96 virtual void AddToWorld(btMultiBodyDynamicsWorld& c_world);
virtual btTransform & GetTransform()
btMultiBodyLinkCollider m_cMultiBodyLink
virtual void UpdateOriginAnchor(SAnchor &s_anchor)
virtual void CalculateBoundingBox()
Calculates the axis-aligned box that contains the entire physics model.
virtual void RemoveFromWorld(btMultiBodyDynamicsWorld &c_world)
virtual void ApplyTorque(const btVector3 &c_torque)
virtual void AddToWorld(btMultiBodyDynamicsWorld &c_world)
virtual void ApplyForce(const btVector3 &c_force)
unsigned int UInt32
32-bit unsigned integer.
Basic class for an entity that contains other entities.
An anchor related to the body of an entity.
virtual void ApplyTorque(const btVector3 &c_torque)
virtual void RemoveFromWorld(btMultiBodyDynamicsWorld &c_world)
CDynamics3DMultiBodyObjectModel & m_cModel
virtual void AddToWorld(btMultiBodyDynamicsWorld &c_world)
virtual void MoveTo(const CVector3 &c_position, const CQuaternion &c_orientation)
virtual ~CDynamics3DMultiBodyObjectModel()
The namespace containing all the ARGoS related code.
CDynamics3DMultiBodyObjectModel(CDynamics3DEngine &c_engine, CComposableEntity &c_entity, UInt32 un_num_links, bool b_fixed_base)
virtual void ApplyForce(const btVector3 &c_force)
CLink(CDynamics3DMultiBodyObjectModel &c_model, UInt32 un_link_index, SAnchor &s_anchor, std::shared_ptr< btCollisionShape > &ptr_shape, const SData &s_data)
btMultiBody & GetMultiBody()
CBase(CDynamics3DMultiBodyObjectModel &c_model, SAnchor &s_anchor, std::shared_ptr< btCollisionShape > &ptr_shape, const SData &s_data)