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, KEEPOUT };
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;
54 UUID get_uuid()
const;
57 std::pair<unsigned int, unsigned int> get_vertices_for_edge(
unsigned int edge);
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
Definition: uuid_ptr.hpp:9
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61
Definition: polygon.hpp:15
Definition: polygon.hpp:29
bool arc_reverse
false: counter clockwise true: clockwise
Definition: polygon.hpp:48
Polygon remove_arcs(unsigned int precision=16) const
Definition: polygon.cpp:55
bool has_arcs() const
Definition: polygon.cpp:116
a class to store JSON values
Definition: json.hpp:161
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Interface for objects that have a UUID.
Definition: uuid_provider.hpp:9