GAMS  1.4.0
VREPQuad.h
Go to the documentation of this file.
1 
54 #ifndef _GAMS_PLATFORM_VREP_QUAD_H_
55 #define _GAMS_PLATFORM_VREP_QUAD_H_
56 
59 #include "gams/variables/Self.h"
60 #include "gams/variables/Sensor.h"
62 #include "madara/knowledge/KnowledgeBase.h"
63 #include "madara/threads/Threader.h"
64 #include "madara/threads/BaseThread.h"
65 #include "madara/knowledge/containers/NativeDoubleVector.h"
66 
67 extern "C" {
68 #include "extApi.h"
69 }
70 
71 #ifdef _GAMS_VREP_
72 
73 namespace gams
74 {
75  namespace platforms
76  {
80  class GAMS_EXPORT VREPQuad : public VREPBase
81  {
82  public:
83  const static std::string DEFAULT_MODEL_FILENAME;
84  const static std::string DEFAULT_MODEL;
85 
95  VREPQuad(
96  std::string model_file,
97  simxUChar is_client_side,
98  madara::knowledge::KnowledgeBase * knowledge,
99  variables::Sensors * sensors,
100  variables::Platforms * platforms,
101  variables::Self * self);
102 
108  virtual std::string get_id() const;
109 
113  virtual std::string get_name() const;
114 
115  protected:
116 
120  virtual void add_model_to_environment(const std::string& file,
121  const simxUChar client_side);
122 
126  virtual void get_target_handle();
127  }; // class VREPQuad
128 
132  class GAMS_EXPORT VREPQuadFactory : public PlatformFactory
133  {
134  public:
135 
148  virtual BasePlatform * create(
149  const madara::knowledge::KnowledgeMap & args,
150  madara::knowledge::KnowledgeBase * knowledge,
151  variables::Sensors * sensors,
152  variables::Platforms * platforms,
153  variables::Self * self);
154 
158  virtual std::string get_default_model();
159 
163  virtual std::string get_default_model(std::string directory);
164 
175  virtual VREPQuad *create_quad(
176  std::string model_file,
177  simxUChar is_client_side,
178  madara::knowledge::KnowledgeBase * knowledge,
179  variables::Sensors * sensors,
180  variables::Platforms * platforms,
181  variables::Self * self);
182  };
183  } // namespace platform
184 } // namespace gams
185 
186 #endif // _GAMS_VREP_
187 
188 #endif // _GAMS_PLATFORM_VREPQuad_H_
#define GAMS_EXPORT
Definition: GamsExport.h:20
Copyright(c) 2014 Carnegie Mellon University.
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
Definition: Sensor.h:238
Contains all GAMS-related tools, classes and code.