2 #include "util/uuid.hpp" 3 #include "nlohmann/json_fwd.hpp" 5 #include "junction.hpp" 6 #include "util/uuid_ptr.hpp" 17 enum class Type { INVALID, PLANE };
18 virtual Type get_type()
const = 0;
19 virtual UUID get_uuid()
const = 0;
31 enum class Type { LINE, ARC };
38 json serialize()
const;
41 Type type = Type::LINE;
48 bool arc_reverse =
false;
54 UUID get_uuid()
const;
57 std::pair<unsigned int, unsigned int> get_vertices_for_edge(
unsigned int edge);
63 Polygon remove_arcs(
unsigned int precision = 16)
const;
68 bool has_arcs()
const;
69 bool is_valid()
const;
72 std::deque<Vertex> vertices;
74 std::string parameter_class;
78 json serialize()
const;
Polygon used in Padstack, Package and Board for specifying filled Regions.
Definition: polygon.hpp:27
a class to store JSON values
Definition: json.hpp:161
Interface for objects that have a UUID.
Definition: uuid_provider.hpp:9
Definition: polygon.hpp:15
Definition: uuid_ptr.hpp:9
Definition: polygon.hpp:29
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61