physx_epuck_model.h
Go to the documentation of this file.
1 
7 #ifndef PHYSX_EPUCK_MODEL_H
8 #define PHYSX_EPUCK_MODEL_H
9 
10 namespace argos {
11  class CPhysXEngine;
12  class CPhysXEPuckModel;
13  class CEPuckEntity;
14  class CWheeledEntity;
15 }
16 
17 #include <argos3/plugins/simulator/physics_engines/physx/physx_differential_drive.h>
18 #include <argos3/plugins/simulator/physics_engines/physx/physx_multi_body_object_model.h>
19 
20 namespace argos {
21 
22  class CPhysXEPuckModel : public CPhysXMultiBodyObjectModel {
23 
24  public:
25 
26  CPhysXEPuckModel(CPhysXEngine& c_engine,
27  CEPuckEntity& c_entity);
28 
29  virtual void Reset();
30 
31  virtual void UpdateFromEntityStatus();
32 
37  void UpdateOriginAnchor(SAnchor& s_anchor);
38 
39  inline CPhysXDifferentialDrive& GetDifferentialDrive() {
40  return m_cDiffDrive;
41  }
42 
43  private:
44 
45  const Real* m_fCurrentWheelVelocity;
46  CPhysXDifferentialDrive m_cDiffDrive;
47  };
48 
49 }
50 
51 #endif
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
An anchor related to the body of an entity.
Definition: physics_model.h:38
CPhysXDifferentialDrive & GetDifferentialDrive()
CPhysXEPuckModel(CPhysXEngine &c_engine, CEPuckEntity &c_entity)
virtual void UpdateFromEntityStatus()
void UpdateOriginAnchor(SAnchor &s_anchor)
Updates the origin anchor associated to the embodied entity.