54 #ifndef _GAMS_PLATFORM_VREP_QUAD_LASER_H_
55 #define _GAMS_PLATFORM_VREP_QUAD_LASER_H_
63 #include "madara/knowledge/KnowledgeBase.h"
64 #include "madara/threads/Threader.h"
65 #include "madara/threads/BaseThread.h"
66 #include "madara/knowledge/containers/NativeDoubleVector.h"
81 virtual double get_range()
const = 0;
82 virtual ~HasRangeSensor() =
default;
88 virtual double get_altitude()
const = 0;
89 virtual ~HasAltitudeSensor() =
default;
95 virtual uint32_t get_color()
const = 0;
96 virtual ~HasColorSensor() =
default;
102 virtual void set_color(uint32_t color)
const = 0;
103 virtual ~HasColor() =
default;
109 class GAMS_EXPORT VREPQuadLaser :
public VREPQuad,
public HasRangeSensor,
110 public HasAltitudeSensor,
public HasColorSensor,
public HasColor
113 const static std::string DEFAULT_MODEL;
125 std::string model_file,
126 simxUChar is_client_side,
127 madara::knowledge::KnowledgeBase * knowledge,
130 variables::Self *
self);
137 virtual std::string get_id()
const;
142 virtual std::string get_name()
const;
144 virtual double get_range()
const;
145 virtual uint32_t get_color()
const;
146 virtual void set_color(uint32_t color)
const;
147 virtual double get_altitude()
const;
150 void get_sensor_handles();
151 double read_sensor(simxInt handle,
double range)
const;
156 virtual void add_model_to_environment(
const std::string& file,
157 const simxUChar client_side);
159 simxInt laser_sensor_;
160 simxInt sonar_sensor_;
166 class GAMS_EXPORT VREPQuadLaserFactory :
public VREPQuadFactory
169 virtual std::string get_default_model();
170 using VREPQuadFactory::get_default_model;
182 virtual VREPQuadLaser *create_quad(
183 std::string model_file,
184 simxUChar is_client_side,
185 madara::knowledge::KnowledgeBase * knowledge,
188 variables::Self *
self);
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
std::map< std::string, PlatformStatus > Platforms
a map of sensor names to the sensor information
std::map< std::string, Sensor * > Sensors
a map of sensor names to the sensor information
Contains all GAMS-related tools, classes and code.