ci_footbot_proximity_sensor.h
Go to the documentation of this file.
1 
32 #ifndef CCI_FOOTBOT_PROXIMITY_SENSOR_H
33 #define CCI_FOOTBOT_PROXIMITY_SENSOR_H
34 
35 namespace argos {
36  class CCI_FootBotProximitySensor;
37 }
38 
39 #include <argos3/core/control_interface/ci_sensor.h>
40 #include <argos3/core/utility/math/angles.h>
41 
42 namespace argos {
43 
45 
46  public:
47 
48  struct SReading {
51 
53  Value(0.0f) {}
54 
55  SReading(Real f_value,
56  const CRadians& c_angle) :
57  Value(f_value),
58  Angle(c_angle) {}
59  };
60 
61  typedef std::vector<SReading> TReadings;
62 
63  public:
64 
69 
74 
78  const TReadings& GetReadings() const;
79 
80 #ifdef ARGOS_WITH_LUA
81  virtual void CreateLuaState(lua_State* pt_lua_state);
82 
83  virtual void ReadingsToLuaState(lua_State* pt_lua_state);
84 #endif
85 
86  protected:
87 
89 
90  };
91 
92  std::ostream& operator<<(std::ostream& c_os, const CCI_FootBotProximitySensor::SReading& s_reading);
93  std::ostream& operator<<(std::ostream& c_os, const CCI_FootBotProximitySensor::TReadings& t_readings);
94 
95 }
96 
97 #endif
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
std::ostream & operator<<(std::ostream &c_os, const CByteArray &c_byte_array)
Definition: byte_array.cpp:530
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
const TReadings & GetReadings() const
Returns the readings of this sensor.
virtual ~CCI_FootBotProximitySensor()
Class destructor.
SReading(Real f_value, const CRadians &c_angle)