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;
39 virtual void Step() = 0;
45 const CRay3& c_ray)
const = 0;
virtual void MoveTo(const CVector3 &c_position, const CQuaternion &c_orientation)
CPointMass3DModel(CPointMass3DEngine &c_engine, CEmbodiedEntity &c_entity)
float Real
Collects all ARGoS code.
CPointMass3DEngine & m_cPM3DEngine
Reference to the physics engine.
virtual bool CheckIntersectionWithRay(Real &f_t_on_ray, const CRay3 &c_ray) const =0
std::map< std::string, CPointMass3DModel * > TMap
CPointMass3DEngine & GetPM3DEngine()
Returns a reference to the physics engine controlling this model.
CVector3 m_cVelocity
The linear velocity of this model in the engine.
This entity is a link to a body in the physics engine.
virtual void UpdateOriginAnchor(SAnchor &s_anchor)
Updates the origin anchor associated to the embodied entity.
CVector3 m_cPosition
The position of the model in this engine.
An anchor related to the body of an entity.
virtual void UpdateFromEntityStatus()=0
Updates the state of this model from the status of the associated entity.
virtual ~CPointMass3DModel()
CVector3 m_cAcceleration
The acceleration of this model in the engine.
const CPointMass3DEngine & GetPM3DEngine() const
Returns a const reference to the physics engine controlling this model.
The namespace containing all the ARGoS related code.
virtual bool IsCollidingWithSomething() const
Returns true if this model is colliding with another model.