Horizon
kicad_package_parser.hpp
1 #pragma once
2 #include "common/common.hpp"
3 
4 namespace SEXPR {
5 class SEXPR;
6 }
7 
8 namespace horizon {
10 public:
11  KiCadPackageParser(class Package &p, class Pool *po);
12  void parse(const SEXPR::SEXPR *data);
13 
14 private:
15  void parse_line(const SEXPR::SEXPR *data);
16  void parse_pad(const SEXPR::SEXPR *data);
17  static int get_layer(const std::string &l);
18  static Coordi get_coord(const SEXPR::SEXPR *data, size_t offset = 1);
19  static Coordi get_size(const SEXPR::SEXPR *data, size_t offset = 1);
20  std::map<Coordi, class Junction *> junctions;
21  Junction *get_or_create_junction(const Coordi &c);
22 
23  Package &package;
24  Pool *pool;
25 };
26 } // namespace horizon
horizon::Coord< int64_t >
horizon::Junction
A Junction is a point in 2D-Space.
Definition: junction.hpp:25
horizon::KiCadPackageParser
Definition: kicad_package_parser.hpp:9
horizon::Package
Definition: package.hpp:28
horizon::Pool
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:21
SEXPR::SEXPR
Definition: sexpr.h:44