#include <dynamics3d_multi_body_object_model.h>
Classes | |
class | CBase |
class | CLink |
Public Member Functions | |
CDynamics3DMultiBodyObjectModel (CDynamics3DEngine &c_engine, CComposableEntity &c_entity, UInt32 un_num_links, bool b_fixed_base) | |
virtual | ~CDynamics3DMultiBodyObjectModel () |
virtual void | Reset () |
virtual void | MoveTo (const CVector3 &c_position, const CQuaternion &c_orientation) |
virtual void | CalculateBoundingBox () |
Calculates the axis-aligned box that contains the entire physics model. More... | |
virtual void | AddToWorld (btMultiBodyDynamicsWorld &c_world) |
virtual void | RemoveFromWorld (btMultiBodyDynamicsWorld &c_world) |
btMultiBody & | GetMultiBody () |
virtual void | UpdateOriginAnchor (SAnchor &s_anchor) |
Public Member Functions inherited from argos::CDynamics3DModel | |
CDynamics3DModel (CDynamics3DEngine &c_engine, CComposableEntity &c_entity) | |
virtual | ~CDynamics3DModel () |
CDynamics3DEngine & | GetEngine () |
const CDynamics3DEngine & | GetEngine () const |
CComposableEntity & | GetComposableEntity () |
const CComposableEntity & | GetComposableEntity () const |
virtual bool | IsCollidingWithSomething () const |
Returns true if this model is colliding with another 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... | |
std::vector< std::shared_ptr< CAbstractBody > > & | GetBodies () |
Public Member Functions inherited from argos::CPhysicsModel | |
CPhysicsModel (CPhysicsEngine &c_engine, CEmbodiedEntity &c_entity) | |
virtual | ~CPhysicsModel () |
CPhysicsEngine & | GetEngine () |
Returns the physics engine associated to this physics model. More... | |
CEmbodiedEntity & | GetEmbodiedEntity () |
Returns the embodied entity associated to this physics model. More... | |
const CEmbodiedEntity & | GetEmbodiedEntity () 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 SBoundingBox & | GetBoundingBox () const |
Returns an axis-aligned box that contains the physics model. More... | |
virtual void | CalculateAnchors () |
Calculates the anchors associated to this model. More... | |
SBoundingBox & | GetBoundingBox () |
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... | |
Protected Attributes | |
btMultiBody | m_cMultiBody |
UInt32 | m_unNumLinks |
bool | m_bFixedBase |
Protected Attributes inherited from argos::CDynamics3DModel | |
std::vector< std::shared_ptr< CAbstractBody > > | m_vecBodies |
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 |
Definition at line 36 of file dynamics3d_multi_body_object_model.h.
argos::CDynamics3DMultiBodyObjectModel::CDynamics3DMultiBodyObjectModel | ( | CDynamics3DEngine & | c_engine, |
CComposableEntity & | c_entity, | ||
UInt32 | un_num_links, | ||
bool | b_fixed_base | ||
) |
Definition at line 18 of file dynamics3d_multi_body_object_model.cpp.
|
inlinevirtual |
Definition at line 102 of file dynamics3d_multi_body_object_model.h.
|
virtual |
Implements argos::CDynamics3DModel.
Reimplemented in argos::CDynamics3DPrototypeModel, and argos::CDynamics3DEPuckModel.
Definition at line 60 of file dynamics3d_multi_body_object_model.cpp.
|
virtual |
Calculates the axis-aligned box that contains the entire physics model.
The bounding box is often called AABB.
Implements argos::CPhysicsModel.
Reimplemented in argos::CDynamics3DEPuckModel.
Definition at line 86 of file dynamics3d_multi_body_object_model.cpp.
|
inline |
Definition at line 115 of file dynamics3d_multi_body_object_model.h.
|
virtual |
Moves the entity to the wanted position and orientation within this engine. When you create a new model, you must implement this method. Don't forget to call UpdateEntityStatus() after you've changed the position.
This method should never be called directly from user code. It is called internally by CEmbodiedEntity::MoveTo(), which is meant to be called from user code.
CEmbodiedEntity::MoveTo() never calls this method if the embodied entity is static. This is because static entities cannot be moved around. Thus, there's no need in your code to check whether the associated entity is static.
c_position | The wanted position. |
c_orientation | The wanted orientation. |
Implements argos::CPhysicsModel.
Definition at line 112 of file dynamics3d_multi_body_object_model.cpp.
|
virtual |
Implements argos::CDynamics3DModel.
Reimplemented in argos::CDynamics3DPrototypeModel, and argos::CDynamics3DEPuckModel.
Definition at line 74 of file dynamics3d_multi_body_object_model.cpp.
|
virtual |
Implements argos::CDynamics3DModel.
Reimplemented in argos::CDynamics3DPrototypeModel, and argos::CDynamics3DEPuckModel.
Definition at line 34 of file dynamics3d_multi_body_object_model.cpp.
|
virtual |
Definition at line 147 of file dynamics3d_multi_body_object_model.cpp.
|
protected |
Definition at line 125 of file dynamics3d_multi_body_object_model.h.
|
protected |
Definition at line 123 of file dynamics3d_multi_body_object_model.h.
|
protected |
Definition at line 124 of file dynamics3d_multi_body_object_model.h.