pointmass3d_model.h
Go to the documentation of this file.
1 
7 #ifndef POINTMASS3D_MODEL_H
8 #define POINTMASS3D_MODEL_H
9 
10 namespace argos {
11  class CPointMass3DEngine;
12 }
13 
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>
18 
19 namespace argos {
20 
22 
23  public:
24 
25  typedef std::map<std::string, CPointMass3DModel*> TMap;
26 
27  public:
28 
30  CEmbodiedEntity& c_entity);
31 
32  virtual ~CPointMass3DModel() {}
33 
34  virtual void MoveTo(const CVector3& c_position,
35  const CQuaternion& c_orientation);
36 
37  virtual void Reset();
38 
39  virtual void Step() = 0;
40  virtual void UpdateFromEntityStatus() = 0;
41 
42  virtual bool IsCollidingWithSomething() const;
43 
44  virtual bool CheckIntersectionWithRay(Real& f_t_on_ray,
45  const CRay3& c_ray) const = 0;
46 
50  virtual void UpdateOriginAnchor(SAnchor& s_anchor);
51 
57  return m_cPM3DEngine;
58  }
59 
65  return m_cPM3DEngine;
66  }
67 
68  protected:
69 
72 
75 
78 
81 
82  };
83 
84 }
85 
86 #endif
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
This entity is a link to a body in the physics engine.
An anchor related to the body of an entity.
Definition: physics_model.h:38
A 3D vector class.
Definition: vector3.h:31
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 void Step()=0
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 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