The board model (design doc 02 §3): every object TraceMaker reads from a .kicad_pcb,...
Polygon booleans and offsets on integer nanometres, a thin wrapper over Clipper2 (Angus Johnson,...
std::vector< Ring > Rings
a region under the non-zero fill rule: outer rings and holes
std::vector< std::uint8_t > rasterise(const geom::Rings ®ion, const geom::Box &lat, Coord pitch, int nx, int ny)
Rasterises a region (rings under the non-zero rule, holes included): 1 where the cell centre is insid...
ReferenceMap build_reference_map(const model::Board &b, const geom::Box &lat, Coord pitch, int nx, int ny, double min_coverage=0.3)
lat is the lattice box (cell (x, y) is at lat.x0 + x * pitch, lat.y0 + y * pitch),...
std::int64_t Coord
Engine coordinate: signed 64-bit nanometres.
Integer-nanometre points and KiCad-compatible rotation.
std::vector< int > reference_layer
per copper layer: the adjacent layer taken as its reference plane, -1 = none (a plane layer with none...
std::vector< double > coverage
per copper layer: share of the board's bounding box that its zone fills cover
std::vector< std::uint8_t > over_void
Per lattice cell, in the router's layout ((layer * ny + y) * nx + x): 1 = the cell is over a void of ...