#include <dynamics3d_engine.h>
Public Member Functions | |
CDynamics3DEngine () | |
virtual | ~CDynamics3DEngine () |
virtual void | Init (TConfigurationNode &t_tree) |
Initializes the resource. More... | |
virtual void | Reset () |
Resets the resource. More... | |
virtual void | Update () |
virtual void | Destroy () |
Undoes whatever was done by Init(). More... | |
virtual void | PostSpaceInit () |
Executes extra initialization activities after the space has been initialized. More... | |
virtual size_t | GetNumPhysicsModels () |
virtual bool | AddEntity (CEntity &c_entity) |
Adds an entity to the physics engine. More... | |
virtual bool | RemoveEntity (CEntity &c_entity) |
Removes an entity from the physics engine. More... | |
virtual void | CheckIntersectionWithRay (TEmbodiedEntityIntersectionData &t_data, const CRay3 &c_ray) const |
Check which objects in this engine intersect the given ray. More... | |
btMultiBodyDynamicsWorld & | GetWorld () |
std::map< std::string, CDynamics3DPlugin * > & | GetPhysicsPlugins () |
btCollisionDispatcher & | GetDispatcher () |
const btCollisionDispatcher & | GetDispatcher () const |
btScalar | GetDefaultFriction () const |
void | AddPhysicsModel (const std::string &str_id, CDynamics3DModel &c_model) |
void | RemovePhysicsModel (const std::string &str_id) |
void | AddPhysicsPlugin (const std::string &str_id, CDynamics3DPlugin &c_plugin) |
void | RemovePhysicsPlugin (const std::string &str_id) |
Public Member Functions inherited from argos::CPhysicsEngine | |
CPhysicsEngine () | |
virtual | ~CPhysicsEngine () |
virtual bool | IsPointContained (const CVector3 &c_point) |
Returns true if the given point is contained in this physics engine. More... | |
bool | IsEntityTransferNeeded () const |
Returns true if this engine has entities that must be transferred to another engine. More... | |
bool | IsEntityTransferActive () const |
Returns true if entity transfer is active for this engine. More... | |
virtual void | ScheduleEntityForTransfer (CEmbodiedEntity &c_entity) |
Schedules an entity of transfer. More... | |
virtual void | TransferEntities () |
Executes the transfer of entities to other engines. More... | |
SVolume & | GetVolume () |
Returns the boundary faces for the volume associated to this engine. More... | |
const SVolume & | GetVolume () const |
Returns the boundary faces for the volume associated to this engine. More... | |
UInt32 | GetIterations () const |
Returns the number of iterations per simulation clock tick. More... | |
Real | GetPhysicsClockTick () const |
Returns the length of the physics engine tick. More... | |
const std::string & | GetId () const |
Returns the id of this physics engine. More... | |
void | SetId (const std::string &str_id) |
Sets the id of this physics engine. More... | |
Public Member Functions inherited from argos::CBaseConfigurableResource | |
virtual | ~CBaseConfigurableResource () |
Class destructor. More... | |
Additional Inherited Members | |
Public Types inherited from argos::CPhysicsEngine | |
typedef std::vector< CPhysicsEngine * > | TVector |
typedef std::map< std::string, CPhysicsEngine *, std::less< std::string > > | TMap |
Static Public Member Functions inherited from argos::CPhysicsEngine | |
static Real | GetSimulationClockTick () |
Returns the simulation clock tick. More... | |
static Real | GetInverseSimulationClockTick () |
Returns the inverse of GetSimulationClockTick(). More... | |
static void | SetSimulationClockTick (Real f_simulation_clock_tick) |
Sets the simulation clock tick. More... | |
Definition at line 45 of file dynamics3d_engine.h.
argos::CDynamics3DEngine::CDynamics3DEngine | ( | ) |
Definition at line 22 of file dynamics3d_engine.cpp.
|
inlinevirtual |
Definition at line 51 of file dynamics3d_engine.h.
|
virtual |
Adds an entity to the physics engine.
Important: when you implement this function, you must also take care of adding the physics model to the associated embodied entity.
true
if the entity was added, false
otherwise. Implements argos::CPhysicsEngine.
Definition at line 233 of file dynamics3d_engine.cpp.
void argos::CDynamics3DEngine::AddPhysicsModel | ( | const std::string & | str_id, |
CDynamics3DModel & | c_model | ||
) |
Definition at line 253 of file dynamics3d_engine.cpp.
void argos::CDynamics3DEngine::AddPhysicsPlugin | ( | const std::string & | str_id, |
CDynamics3DPlugin & | c_plugin | ||
) |
Definition at line 296 of file dynamics3d_engine.cpp.
|
virtual |
Check which objects in this engine intersect the given ray.
t_data | The list of entities that intersect the ray. |
c_ray | The test ray. |
Implements argos::CPhysicsEngine.
Definition at line 203 of file dynamics3d_engine.cpp.
|
virtual |
Undoes whatever was done by Init().
Reimplemented from argos::CPhysicsEngine.
Definition at line 142 of file dynamics3d_engine.cpp.
|
inline |
Definition at line 88 of file dynamics3d_engine.h.
|
inline |
Definition at line 80 of file dynamics3d_engine.h.
|
inline |
Definition at line 84 of file dynamics3d_engine.h.
|
virtual |
Implements argos::CPhysicsEngine.
Definition at line 226 of file dynamics3d_engine.cpp.
|
inline |
Definition at line 76 of file dynamics3d_engine.h.
|
inline |
Definition at line 72 of file dynamics3d_engine.h.
|
virtual |
Initializes the resource.
t_tree | the base of the XML configuration tree to parse |
CARGoSException | if an error occurs |
Reimplemented from argos::CPhysicsEngine.
Definition at line 38 of file dynamics3d_engine.cpp.
|
virtual |
Executes extra initialization activities after the space has been initialized.
By default, this method does nothing. The order in which initialization takes place is:
CARGoSException | if an error occurs |
Reimplemented from argos::CPhysicsEngine.
Definition at line 64 of file dynamics3d_engine.cpp.
|
virtual |
Removes an entity from the physics engine.
Important: when you implement this function, you must also take care of removing the physics model to the associated embodied entity.
true
if the entity was added, false
otherwise. Implements argos::CPhysicsEngine.
Definition at line 243 of file dynamics3d_engine.cpp.
void argos::CDynamics3DEngine::RemovePhysicsModel | ( | const std::string & | str_id | ) |
Definition at line 270 of file dynamics3d_engine.cpp.
void argos::CDynamics3DEngine::RemovePhysicsPlugin | ( | const std::string & | str_id | ) |
Definition at line 304 of file dynamics3d_engine.cpp.
|
virtual |
Resets the resource.
Reimplemented from argos::CPhysicsEngine.
Definition at line 72 of file dynamics3d_engine.cpp.
|
virtual |
Implements argos::CPhysicsEngine.
Definition at line 172 of file dynamics3d_engine.cpp.