GAMS  1.2.2
AlgorithmFactory.h
Go to the documentation of this file.
1 
54 #ifndef _GAMS_ALGORITHMS_ALGORITHM_FACTORY_H_
55 #define _GAMS_ALGORITHMS_ALGORITHM_FACTORY_H_
56 
59 #include "gams/variables/Self.h"
60 #include "gams/variables/Sensor.h"
61 #include "gams/variables/Agent.h"
62 #include "madara/knowledge/KnowledgeBase.h"
63 
64 namespace gams
65 {
66  namespace algorithms
67  {
73  {
74  public:
79 
83  virtual ~AlgorithmFactory ();
84 
95  virtual BaseAlgorithm * create (
96  const madara::knowledge::KnowledgeMap & args,
97  madara::knowledge::KnowledgeBase * knowledge,
98  platforms::BasePlatform * platform,
99  variables::Sensors * sensors,
100  variables::Self * self,
101  variables::Agents * agents) = 0;
102 
107  void set_agents (variables::Agents * agents);
108 
113  void set_knowledge (madara::knowledge::KnowledgeBase * knowledge);
114 
119  void set_platform (platforms::BasePlatform * platform);
120 
125  void set_self (variables::Self * self);
126 
131  void set_sensors (variables::Sensors * sensors);
132 
133  protected:
134 
136  madara::knowledge::KnowledgeBase * knowledge_;
137 
140 
143 
146 
149  };
150  }
151 }
152 
153 #endif // _GAMS_ALGORITHMS_ALGORITHM_FACTORY_H_
Base class for algorithm factories that classes derived from.
Copyright (c) 2014 Carnegie Mellon University.
std::map< std::string, Sensor * > Sensors
a map of sensor names to the sensor information
Definition: Sensor.h:238
The base platform for all platforms to use.
Definition: BasePlatform.h:190
Copyright (c) 2014 Carnegie Mellon University.
std::vector< Agent > Agents
An array of agent knowledge.
Definition: Agent.h:246
Copyright (c) 2014 Carnegie Mellon University.
variables::Sensors * sensors_
sensor variables
variables::Self * self_
self-referencing variables
Contains all GAMS-related tools, classes and code.
A container for self referencing information.
Definition: Self.h:69
Copyright (c) 2014 Carnegie Mellon University.
#define GAMS_EXPORT
Definition: GamsExport.h:20
The base class that algorithms in GAMS use.
Definition: BaseAlgorithm.h:94
variables::Agents * agents_
list of agents participating in the swarm
platforms::BasePlatform * platform_
platform variables
Copyright (c) 2014-2018 Carnegie Mellon University.
madara::knowledge::KnowledgeBase * knowledge_
knowledge base containing variables