ci_camera_sensor.h
Go to the documentation of this file.
1 
7 #ifndef CI_CAMERAS_SENSOR_H
8 #define CI_CAMERAS_SENSOR_H
9 
10 namespace argos {
11  class CCI_CameraSensor;
12 }
13 
14 #include <argos3/core/control_interface/ci_sensor.h>
15 #include <argos3/plugins/robots/generic/control_interface/ci_camera_sensor_algorithm.h>
16 
17 namespace argos {
18 
19  class CCI_CameraSensor: virtual public CCI_Sensor {
20 
21  public:
22 
23  struct SInterface {
24  SInterface(const std::string& str_id,
25  const std::vector<CCI_CameraSensorAlgorithm*>& vec_algorithms) :
26  Id(str_id),
27  Algorithms(vec_algorithms) {}
28  std::string Id;
29  std::vector<CCI_CameraSensorAlgorithm*> Algorithms;
30  typedef std::vector<SInterface> TVector;
31  };
32 
33  public:
34 
39 
43  virtual ~CCI_CameraSensor() {}
44 
45  public:
46 
51  const SInterface::TVector& GetInterfaces() const;
52 
53 #ifdef ARGOS_WITH_LUA
54  virtual void CreateLuaState(lua_State* pt_lua_state);
55 
56  virtual void ReadingsToLuaState(lua_State* pt_lua_state);
57 #endif
58 
59  protected:
60 
62 
63  };
64 
65 }
66 
67 #endif
The basic interface for all sensors.
Definition: ci_sensor.h:34
const SInterface::TVector & GetInterfaces() const
Returns a const reference to the camera interfaces.
std::vector< CCI_CameraSensorAlgorithm * > Algorithms
SInterface(const std::string &str_id, const std::vector< CCI_CameraSensorAlgorithm *> &vec_algorithms)
std::vector< SInterface > TVector
CCI_CameraSensor()
Constructor.
SInterface::TVector m_vecInterfaces
virtual ~CCI_CameraSensor()
Destructor.
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12