Horizon
program_polygon.hpp
1 #pragma once
2 #include "program.hpp"
3 #include <map>
4 #include "util/uuid.hpp"
5 #include "common/polygon.hpp"
6 
7 namespace horizon {
8 class ParameterProgramPolygon : public ParameterProgram {
9 public:
10  using ParameterProgram::ParameterProgram;
11 
12 protected:
13  std::pair<bool, std::string> set_polygon(const ParameterProgram::TokenCommand *cmd, std::deque<int64_t> &stack);
14  std::pair<bool, std::string> set_polygon_vertices(const ParameterProgram::TokenCommand *cmd,
15  std::deque<int64_t> &stack);
16  std::pair<bool, std::string> expand_polygon(const ParameterProgram::TokenCommand *cmd, std::deque<int64_t> &stack);
17  virtual std::map<UUID, Polygon> &get_polygons() = 0;
18 
19  virtual ~ParameterProgramPolygon()
20  {
21  }
22 };
23 } // namespace horizon