7 #ifndef POINTMASS3D_MODEL_H
8 #define POINTMASS3D_MODEL_H
11 class CPointMass3DEngine;
14 #include <argos3/core/simulator/physics_engine/physics_model.h>
15 #include <argos3/plugins/simulator/physics_engines/pointmass3d/pointmass3d_engine.h>
16 #include <argos3/core/utility/math/vector3.h>
17 #include <argos3/core/utility/math/quaternion.h>
25 typedef std::map<std::string, CPointMass3DModel*>
TMap;
45 const CRay3& c_ray)
const = 0;
float Real
Collects all ARGoS code.
The namespace containing all the ARGoS related code.
This entity is a link to a body in the physics engine.
An anchor related to the body of an entity.
CPointMass3DModel(CPointMass3DEngine &c_engine, CEmbodiedEntity &c_entity)
CVector3 m_cVelocity
The linear velocity of this model in the engine.
virtual void MoveTo(const CVector3 &c_position, const CQuaternion &c_orientation)
virtual bool IsCollidingWithSomething() const
Returns true if this model is colliding with another model.
virtual void UpdateOriginAnchor(SAnchor &s_anchor)
Updates the origin anchor associated to the embodied entity.
virtual ~CPointMass3DModel()
virtual void UpdateFromEntityStatus()=0
Updates the state of this model from the status of the associated entity.
virtual bool CheckIntersectionWithRay(Real &f_t_on_ray, const CRay3 &c_ray) const =0
CPointMass3DEngine & m_cPM3DEngine
Reference to the physics engine.
CPointMass3DEngine & GetPM3DEngine()
Returns a reference to the physics engine controlling this model.
CVector3 m_cAcceleration
The acceleration of this model in the engine.
CVector3 m_cPosition
The position of the model in this engine.
const CPointMass3DEngine & GetPM3DEngine() const
Returns a const reference to the physics engine controlling this model.
std::map< std::string, CPointMass3DModel * > TMap