ARGoS 3
A parallel, multi-engine simulator for swarm robotics
ci_footbot_base_ground_sensor.h
Go to the documentation of this file.
1
32#ifndef CCI_FOOTBOT_BASE_GROUND_SENSOR_H
33#define CCI_FOOTBOT_BASE_GROUND_SENSOR_H
34
35namespace argos {
36 class CCI_FootBotBaseGroundSensor;
37}
38
39#include <argos3/core/control_interface/ci_sensor.h>
40#include <argos3/core/utility/math/vector2.h>
41#include <vector>
42
43namespace argos {
44
45 class CCI_FootBotBaseGroundSensor : virtual public CCI_Sensor {
46
47 public:
48
49 struct SReading {
52
54 Value(0.0f) {}
55
56 SReading(Real f_value,
57 const CVector2& c_offset) :
58 Value(f_value),
59 Offset(c_offset) {}
60 };
61
62 typedef std::vector<SReading> TReadings;
63
64 public:
65
67
69
70 const TReadings& GetReadings() const;
71
72#ifdef ARGOS_WITH_LUA
73 virtual void CreateLuaState(lua_State* pt_lua_state);
74
75 virtual void ReadingsToLuaState(lua_State* pt_lua_state);
76#endif
77
78 protected:
79
81
82 };
83
84 std::ostream& operator<<(std::ostream& c_os,
86
87 std::ostream& operator<<(std::ostream& c_os,
89
90}
91
92#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)
The basic interface for all sensors.
Definition ci_sensor.h:34
A 2D vector class.
Definition vector2.h:27
SReading(Real f_value, const CVector2 &c_offset)