#include <dynamics3d_single_body_object_model.h>
Classes | |
class | CBody |
Public Member Functions | |
CDynamics3DSingleBodyObjectModel (CDynamics3DEngine &c_engine, CComposableEntity &c_entity) | |
virtual | ~CDynamics3DSingleBodyObjectModel () |
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) |
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... | |
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::CDynamics3DModel | |
std::vector< std::shared_ptr< CAbstractBody > > | m_vecBodies |
Definition at line 34 of file dynamics3d_single_body_object_model.h.
argos::CDynamics3DSingleBodyObjectModel::CDynamics3DSingleBodyObjectModel | ( | CDynamics3DEngine & | c_engine, |
CComposableEntity & | c_entity | ||
) |
Definition at line 14 of file dynamics3d_single_body_object_model.cpp.
|
inlinevirtual |
Definition at line 75 of file dynamics3d_single_body_object_model.h.
|
virtual |
Implements argos::CDynamics3DModel.
Definition at line 68 of file dynamics3d_single_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.
Definition at line 54 of file dynamics3d_single_body_object_model.cpp.
|
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 24 of file dynamics3d_single_body_object_model.cpp.
|
virtual |
Implements argos::CDynamics3DModel.
Definition at line 75 of file dynamics3d_single_body_object_model.cpp.
|
virtual |
Implements argos::CDynamics3DModel.
Definition at line 45 of file dynamics3d_single_body_object_model.cpp.