8 #include <argos3/core/utility/math/angles.h>
11 #include <argos3/core/wrappers/lua/lua_utility.h>
19 static CRadians SPACING = CRadians(
ARGOS_PI / 12.0f);
20 static CRadians START_ANGLE = SPACING * 0.5f;
27 for(
size_t i = 0; i < 24; ++i) {
44 void CCI_FootBotProximitySensor::CreateLuaState(lua_State* pt_lua_state) {
60 void CCI_FootBotProximitySensor::ReadingsToLuaState(lua_State* pt_lua_state) {
61 lua_getfield(pt_lua_state, -1,
"proximity");
63 lua_pushnumber(pt_lua_state, i+1 );
64 lua_gettable (pt_lua_state, -2 );
66 lua_setfield (pt_lua_state, -2,
"value" );
67 lua_pop(pt_lua_state, 1);
69 lua_pop(pt_lua_state, 1);
79 c_os <<
"Value=<" << s_reading.
Value
80 <<
">, Angle=<" << s_reading.
Angle <<
">";
89 if(! t_readings.empty()) {
90 c_os <<
"{ " << t_readings[0].Value <<
" }";
91 for(
UInt32 i = 1; i < t_readings.size(); ++i) {
92 c_os <<
" { " << t_readings[0].Value <<
" }";
unsigned int UInt32
32-bit unsigned integer.
#define ARGOS_PI
To be used when initializing static variables.
The namespace containing all the ARGoS related code.
std::ostream & operator<<(std::ostream &c_os, const CByteArray &c_byte_array)
static void EndTable(lua_State *pt_state)
Adds a table to the Lua stack.
static void AddToTable(lua_State *pt_state, const std::string &str_key, void *pt_data)
Adds a pointer to a chunk of data with the given string key to the table located at the top of the st...
static void StartTable(lua_State *pt_state, const std::string &str_key)
Adds a table with the given string key to the table located at the top of the stack.
static void OpenRobotStateTable(lua_State *pt_state, const std::string &str_key)
Opens a table in the robot state, creating it if it does not exist.
static void CloseRobotStateTable(lua_State *pt_state)
Closes a table in the robot state.
CCI_FootBotProximitySensor()
Class constructor.
const TReadings & GetReadings() const
Returns the readings of this sensor.
std::vector< SReading > TReadings