ARGoS 3
A parallel, multi-engine simulator for swarm robotics
ci_positioning_sensor.cpp
Go to the documentation of this file.
1
8
9#ifdef ARGOS_WITH_LUA
10#include <argos3/core/wrappers/lua/lua_utility.h>
11#endif
12
13namespace argos {
14
15 /****************************************/
16 /****************************************/
17
21
22 /****************************************/
23 /****************************************/
24
25#ifdef ARGOS_WITH_LUA
26 void CCI_PositioningSensor::CreateLuaState(lua_State* pt_lua_state) {
27 CLuaUtility::StartTable(pt_lua_state, "positioning");
28 CLuaUtility::AddToTable(pt_lua_state, "position", m_sReading.Position);
29 CLuaUtility::AddToTable(pt_lua_state, "orientation", m_sReading.Orientation);
30 CLuaUtility::EndTable(pt_lua_state);
31 }
32#endif
33
34 /****************************************/
35 /****************************************/
36
37#ifdef ARGOS_WITH_LUA
38 void CCI_PositioningSensor::ReadingsToLuaState(lua_State* pt_lua_state) {
39 lua_getfield(pt_lua_state, -1, "positioning");
40 CLuaUtility::AddToTable(pt_lua_state, "position", m_sReading.Position);
41 CLuaUtility::AddToTable(pt_lua_state, "orientation", m_sReading.Orientation);
42 lua_pop(pt_lua_state, 1);
43 }
44#endif
45
46 /****************************************/
47 /****************************************/
48
49}
The namespace containing all the ARGoS related code.
Definition ci_actuator.h:12
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.
const SReading & GetReading() const