ARGoS  3
A parallel, multi-engine simulator for swarm robotics
argos::CPhysicsModel Class Reference

#include <physics_model.h>

+ Inheritance diagram for argos::CPhysicsModel:

List of all members.

Public Types

typedef std::map< std::string,
CPhysicsModel * > 
TMap
typedef std::vector
< CPhysicsModel * > 
TVector

Public Member Functions

 CPhysicsModel (CPhysicsEngine &c_engine, CEmbodiedEntity &c_entity)
virtual ~CPhysicsModel ()
CPhysicsEngineGetEngine ()
 Returns the physics engine associated to this physics model.
CEmbodiedEntityGetEmbodiedEntity ()
 Returns the embodied entity associated to this physics model.
const CEmbodiedEntityGetEmbodiedEntity () const
 Returns the embodied entity associated to this physics model.
virtual bool MoveTo (const CVector3 &c_position, const CQuaternion &c_orientation, bool b_check_only=false)=0
 Moves the entity to the wanted position and orientation.
const SBoundingBoxGetBoundingBox () const
 Returns an axis-aligned box that contains the physics model.
virtual void CalculateBoundingBox ()=0
 Returns an axis-aligned box that contains the physics model.
virtual bool IsCollidingWithSomething () const =0
 Returns true if this model is colliding with another model.
SBoundingBoxGetBoundingBox ()
 Returns an axis-aligned box that contains the physics model.

Protected Attributes

CPhysicsEnginem_cEngine
CEmbodiedEntitym_cEmbodiedEntity
SBoundingBox m_sBoundingBox

Friends

class CEmbodiedEntity

Detailed Description

Definition at line 38 of file physics_model.h.


Member Typedef Documentation

typedef std::map<std::string, CPhysicsModel*> argos::CPhysicsModel::TMap

Reimplemented in argos::CDynamics2DModel.

Definition at line 42 of file physics_model.h.

Definition at line 43 of file physics_model.h.


Constructor & Destructor Documentation

argos::CPhysicsModel::CPhysicsModel ( CPhysicsEngine c_engine,
CEmbodiedEntity c_entity 
) [inline]

Definition at line 47 of file physics_model.h.

virtual argos::CPhysicsModel::~CPhysicsModel ( ) [inline, virtual]

Definition at line 53 of file physics_model.h.


Member Function Documentation

virtual void argos::CPhysicsModel::CalculateBoundingBox ( ) [pure virtual]

Returns an axis-aligned box that contains the physics model.

The bounding box is often called AABB.

Implemented in argos::CDynamics2DEPuckModel, argos::CDynamics2DFootBotModel, argos::CDynamics2DBoxModel, and argos::CDynamics2DCylinderModel.

Returns an axis-aligned box that contains the physics model.

The bounding box is often called AABB.

Returns:
The bounding box as a const struct.

Definition at line 97 of file physics_model.h.

Returns an axis-aligned box that contains the physics model.

The bounding box is often called AABB.

Returns:
The bounding box as a modifiable struct.

Definition at line 118 of file physics_model.h.

Returns the embodied entity associated to this physics model.

Returns:
The embodied entity associated to this physics model.

Definition at line 67 of file physics_model.h.

Returns the embodied entity associated to this physics model.

Returns:
The embodied entity associated to this physics model.

Definition at line 75 of file physics_model.h.

Returns the physics engine associated to this physics model.

Returns:
The physics engine associated to this physics model.

Definition at line 59 of file physics_model.h.

virtual bool argos::CPhysicsModel::IsCollidingWithSomething ( ) const [pure virtual]

Returns true if this model is colliding with another model.

Returns:
true if this model is colliding with another model.

Implemented in argos::CDynamics2DEPuckModel, argos::CDynamics2DFootBotModel, argos::CDynamics2DBoxModel, and argos::CDynamics2DCylinderModel.

virtual bool argos::CPhysicsModel::MoveTo ( const CVector3 c_position,
const CQuaternion c_orientation,
bool  b_check_only = false 
) [pure virtual]

Moves the entity to the wanted position and orientation.

The movement is allowed only if the object does not collide with anything once in the new position.

Parameters:
c_positionThe wanted position.
c_orientationThe wanted orientation.
b_check_onlyIf false, the movement is executed; otherwise, the object is not actually moved.
Returns:
true if no collisions were detected, false otherwise.

Implemented in argos::CDynamics2DModel, argos::CDynamics2DEPuckModel, argos::CDynamics2DFootBotModel, argos::CDynamics2DBoxModel, and argos::CDynamics2DCylinderModel.


Friends And Related Function Documentation

friend class CEmbodiedEntity [friend]

Definition at line 122 of file physics_model.h.


Member Data Documentation

Definition at line 126 of file physics_model.h.

Definition at line 128 of file physics_model.h.


The documentation for this class was generated from the following file: