ARGoS 3
A parallel, multi-engine simulator for swarm robotics
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
10namespace 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
17namespace 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)