GAMS  1.2.2
PrioritizedMinTimeAreaCoverage.h
Go to the documentation of this file.
1 
54 #ifndef _GAMS_ALGORITHMS_AREA_COVERAGE_PRIORITIZED_MIN_TIME_AREA_COVERAGE_H_
55 #define _GAMS_ALGORITHMS_AREA_COVERAGE_PRIORITIZED_MIN_TIME_AREA_COVERAGE_H_
56 
58 
59 #include <string>
60 #include <set>
61 
62 #include "madara/knowledge/KnowledgeUpdateSettings.h"
64 
65 namespace gams
66 {
67  namespace algorithms
68  {
69  namespace area_coverage
70  {
76  public MinTimeAreaCoverage
77  {
78  public:
91  const std::string& search_id,
92  double e_time,
93  madara::knowledge::KnowledgeBase * knowledge = 0,
94  platforms::BasePlatform * platform = 0,
95  variables::Sensors * sensors = 0,
96  variables::Self * self = 0,
97  variables::Agents * agents = 0,
98  const std::string& algo_name = "pmtac");
99 
104  void operator= (const PrioritizedMinTimeAreaCoverage & rhs);
105 
106  protected:
108  virtual double get_utility (const utility::Position& start,
109  const utility::Position& end, std::set<utility::Position>& online);
110  }; // class PrioritizedMinTimeAreaCoverage
111 
117  : public AlgorithmFactory
118  {
119  public:
120 
135  virtual BaseAlgorithm * create (
136  const madara::knowledge::KnowledgeMap & args,
137  madara::knowledge::KnowledgeBase * knowledge,
138  platforms::BasePlatform * platform,
139  variables::Sensors * sensors,
140  variables::Self * self,
141  variables::Agents * agents);
142  };
143  } // namespace area_coverage
144  } // namespace algorithms
145 } // namespace gams
146 
147 #endif // _GAMS_ALGORITHMS_AREA_COVERAGE_PRIORITIZED_MIN_TIME_AREA_COVERAGE_H_
Base class for algorithm factories that classes derived from.
Focuses on high priority areas over low priority, and attempts to do minimum time coverage...
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
std::vector< Agent > Agents
An array of agent knowledge.
Definition: Agent.h:246
Contains all GAMS-related tools, classes and code.
A container for self referencing information.
Definition: Self.h:69
#define GAMS_EXPORT
Definition: GamsExport.h:20
Area coverage that minimizes the time taken for covering an area.
The base class that algorithms in GAMS use.
Definition: BaseAlgorithm.h:94
Copyright (c) 2014 Carnegie Mellon University.
A position in an x, y, z coordinate system.
Definition: Position.h:77
Copyright (c) 2014 Carnegie Mellon University.
A factory class for creating prioritized minimum time coverage algorithms.