argos::CDynamics3DEPuckModel Class Reference

#include <dynamics3d_epuck_model.h>

Inheritance diagram for argos::CDynamics3DEPuckModel:
Collaboration diagram for argos::CDynamics3DEPuckModel:

Public Member Functions

 CDynamics3DEPuckModel (CDynamics3DEngine &c_engine, CEPuckEntity &c_epuck)
 
virtual ~CDynamics3DEPuckModel ()
 
virtual void Reset ()
 
virtual void CalculateBoundingBox ()
 Calculates the axis-aligned box that contains the entire physics model. More...
 
virtual void UpdateEntityStatus ()
 Updates the status of the associated entity. More...
 
virtual void UpdateFromEntityStatus ()
 Updates the state of this model from the status of the associated entity. More...
 
virtual void AddToWorld (btMultiBodyDynamicsWorld &c_world)
 
virtual void RemoveFromWorld (btMultiBodyDynamicsWorld &c_world)
 
- Public Member Functions inherited from argos::CDynamics3DMultiBodyObjectModel
 CDynamics3DMultiBodyObjectModel (CDynamics3DEngine &c_engine, CComposableEntity &c_entity, UInt32 un_num_links, bool b_fixed_base)
 
virtual ~CDynamics3DMultiBodyObjectModel ()
 
virtual void MoveTo (const CVector3 &c_position, const CQuaternion &c_orientation)
 
btMultiBody & GetMultiBody ()
 
virtual void UpdateOriginAnchor (SAnchor &s_anchor)
 
- Public Member Functions inherited from argos::CDynamics3DModel
 CDynamics3DModel (CDynamics3DEngine &c_engine, CComposableEntity &c_entity)
 
virtual ~CDynamics3DModel ()
 
CDynamics3DEngineGetEngine ()
 
const CDynamics3DEngineGetEngine () const
 
CComposableEntityGetComposableEntity ()
 
const CComposableEntityGetComposableEntity () const
 
virtual bool IsCollidingWithSomething () const
 Returns true if this model is colliding with another model. More...
 
std::vector< std::shared_ptr< CAbstractBody > > & GetBodies ()
 
- Public Member Functions inherited from argos::CPhysicsModel
 CPhysicsModel (CPhysicsEngine &c_engine, CEmbodiedEntity &c_entity)
 
virtual ~CPhysicsModel ()
 
CPhysicsEngineGetEngine ()
 Returns the physics engine associated to this physics model. More...
 
CEmbodiedEntityGetEmbodiedEntity ()
 Returns the embodied entity associated to this physics model. More...
 
const CEmbodiedEntityGetEmbodiedEntity () const
 Returns the embodied entity associated to this physics model. More...
 
virtual void UpdatePhysics ()
 Performs extra work just before the physics update takes place. More...
 
const SBoundingBoxGetBoundingBox () const
 Returns an axis-aligned box that contains the physics model. More...
 
virtual void CalculateAnchors ()
 Calculates the anchors associated to this model. More...
 
SBoundingBoxGetBoundingBox ()
 Returns an axis-aligned box that contains the physics model. More...
 
template<typename MODEL >
void RegisterAnchorMethod (const SAnchor &s_anchor, void(MODEL::*pt_method)(SAnchor &))
 Registers an anchor method. More...
 

Additional Inherited Members

- Public Types inherited from argos::CDynamics3DModel
typedef std::map< std::string, CDynamics3DModel * > TMap
 
- Public Types inherited from argos::CPhysicsModel
typedef std::map< std::string, CPhysicsModel * > TMap
 
typedef std::vector< CPhysicsModel * > TVector
 
- Protected Attributes inherited from argos::CDynamics3DMultiBodyObjectModel
btMultiBody m_cMultiBody
 
UInt32 m_unNumLinks
 
bool m_bFixedBase
 
- Protected Attributes inherited from argos::CDynamics3DModel
std::vector< std::shared_ptr< CAbstractBody > > m_vecBodies
 

Detailed Description

Definition at line 22 of file dynamics3d_epuck_model.h.

Constructor & Destructor Documentation

◆ CDynamics3DEPuckModel()

argos::CDynamics3DEPuckModel::CDynamics3DEPuckModel ( CDynamics3DEngine c_engine,
CEPuckEntity c_epuck 
)

Definition at line 20 of file dynamics3d_epuck_model.cpp.

◆ ~CDynamics3DEPuckModel()

virtual argos::CDynamics3DEPuckModel::~CDynamics3DEPuckModel ( )
inlinevirtual

Definition at line 29 of file dynamics3d_epuck_model.h.

Member Function Documentation

◆ AddToWorld()

void argos::CDynamics3DEPuckModel::AddToWorld ( btMultiBodyDynamicsWorld &  c_world)
virtual

Reimplemented from argos::CDynamics3DMultiBodyObjectModel.

Definition at line 159 of file dynamics3d_epuck_model.cpp.

◆ CalculateBoundingBox()

void argos::CDynamics3DEPuckModel::CalculateBoundingBox ( )
virtual

Calculates the axis-aligned box that contains the entire physics model.

The bounding box is often called AABB.

Reimplemented from argos::CDynamics3DMultiBodyObjectModel.

Definition at line 128 of file dynamics3d_epuck_model.cpp.

◆ RemoveFromWorld()

void argos::CDynamics3DEPuckModel::RemoveFromWorld ( btMultiBodyDynamicsWorld &  c_world)
virtual

Reimplemented from argos::CDynamics3DMultiBodyObjectModel.

Definition at line 170 of file dynamics3d_epuck_model.cpp.

◆ Reset()

void argos::CDynamics3DEPuckModel::Reset ( )
virtual

Reimplemented from argos::CDynamics3DMultiBodyObjectModel.

Definition at line 84 of file dynamics3d_epuck_model.cpp.

◆ UpdateEntityStatus()

void argos::CDynamics3DEPuckModel::UpdateEntityStatus ( )
virtual

Updates the status of the associated entity.

This method performs all the calculations to update the status of the entity associated to this model. In particular, it is in this method that anchors get updated and transfer to other engines is scheduled. This method internally calls:

See also
CalculateBoundingBox()
CalculateAnchors()
CComposableEntity::UpdateComponents()

Reimplemented from argos::CDynamics3DModel.

Definition at line 140 of file dynamics3d_epuck_model.cpp.

◆ UpdateFromEntityStatus()

void argos::CDynamics3DEPuckModel::UpdateFromEntityStatus ( )
virtual

Updates the state of this model from the status of the associated entity.

This method takes the current state of the associated entity (e.g., desired wheel speed, turret rotationss, etc.) and updates the state of this model. Typically, in this method you apply forces and set speeds.

Reimplemented from argos::CDynamics3DModel.

Definition at line 148 of file dynamics3d_epuck_model.cpp.