ci_epuck_proximity_sensor.h
Go to the documentation of this file.
1 
7 #ifndef CCI_EPUCK_PROXIMITY_SENSOR_H
8 #define CCI_EPUCK_PROXIMITY_SENSOR_H
9 
10 namespace argos {
11  class CCI_EPuckProximitySensor;
12 }
13 
14 #include <argos3/core/utility/math/angles.h>
15 #include <argos3/core/control_interface/ci_sensor.h>
16 
17 namespace argos {
18 
20 
21  public:
22 
25 
26  struct SReading
27  {
30 
32  Value(0.0f) {}
33 
34  SReading(Real f_value,
35  const CRadians& c_angle) :
36  Value(f_value),
37  Angle(c_angle) {}
38  };
39 
40  typedef std::vector<SReading> TReadings;
41 
42 
43 
44  inline const TReadings& GetReadings() const
45  {
46  return m_tReadings;
47  }
48 
49 #ifdef ARGOS_WITH_LUA
50  virtual void CreateLuaState(lua_State* pt_lua_state);
51 
52  virtual void ReadingsToLuaState(lua_State* pt_lua_state);
53 #endif
54 
55  protected:
56 
58  };
59 
60 }
61 
62 #endif
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
The basic interface for all sensors.
Definition: ci_sensor.h:34
It defines the basic type CRadians, used to store an angle value in radians.
Definition: angles.h:42
SReading(Real f_value, const CRadians &c_angle)