2 #include "common/common.hpp"
9 class KiCadModuleParser {
13 static int get_layer(
const std::string &l);
14 static Coordi get_coord(
const SEXPR::SEXPR *data,
size_t offset = 1);
15 static Coordi get_size(
const SEXPR::SEXPR *data,
size_t offset = 1);
16 std::map<Coordi, class Junction *> junctions;
17 Junction *get_or_create_junction(
const Coordi &c);
19 virtual class Junction &create_junction() = 0;
20 virtual class Polygon &create_polygon() = 0;
21 virtual class Line &create_line() = 0;
24 virtual ~KiCadModuleParser()
29 class KiCadPackageParser :
public KiCadModuleParser {
31 KiCadPackageParser(
class Package &p,
class IPool &po);
37 class Junction &create_junction()
override;
38 class Polygon &create_polygon()
override;
39 class Line &create_line()
override;
45 class KiCadDecalParser :
public KiCadModuleParser {
47 KiCadDecalParser(
class Decal &d);
51 class Junction &create_junction()
override;
52 class Polygon &create_polygon()
override;
53 class Line &create_line()
override;