|
TraceMaker
C++ API of the engine
|
The board model (design doc 02 §3): every object TraceMaker reads from a .kicad_pcb, in absolute integer-nanometre coordinates, with a link back to its s-expression node for lossless writing. More...
#include <climits>#include <cstdint>#include <string>#include <unordered_map>#include <utility>#include <vector>#include "core/units.hpp"#include "geom/point.hpp"#include "model/stackup.hpp"#include "sexpr/sexpr.hpp"Go to the source code of this file.
Classes | |
| struct | tmk::model::LayerDef |
| struct | tmk::model::Net |
| struct | tmk::model::Pad |
| struct | tmk::model::Pad::CustomPrim |
| Custom-pad primitives in the pad frame, each already grown by half its stroke width (KiCad draws them with a round pen and fills them): a polygon or rectangle, a polyline (line, arc) or a disc (circle; pts[0] is the centre). More... | |
| struct | tmk::model::Graphic |
| struct | tmk::model::Text |
| struct | tmk::model::Footprint |
| struct | tmk::model::Track |
| struct | tmk::model::ArcTrack |
| struct | tmk::model::Via |
| struct | tmk::model::Zone |
| struct | tmk::model::Board |
| struct | tmk::model::Box |
| struct | tmk::model::Point |
Namespaces | |
| namespace | tmk |
| namespace | tmk::model |
Typedefs | |
| using | tmk::model::NetId = std::int32_t |
| 0 = no net | |
| using | tmk::model::LayerMask = std::uint64_t |
| bit i = copper layer i in stack order (0 = F.Cu, last = B.Cu) | |
Enumerations | |
| enum class | tmk::model::PadType : std::uint8_t { tmk::model::Smd , tmk::model::ThruHole , tmk::model::NpThruHole , tmk::model::Connect } |
| enum class | tmk::model::PadShape : std::uint8_t { tmk::model::Circle , tmk::model::Rect , tmk::model::Oval , tmk::model::Trapezoid , tmk::model::RoundRect , tmk::model::ChamferedRect , tmk::model::Custom } |
| enum class | tmk::model::ZoneConnect : std::int8_t { tmk::model::Inherited = -1 , tmk::model::None = 0 , tmk::model::Thermal = 1 , tmk::model::Full = 2 , tmk::model::ThtThermal = 3 } |
| How a pad joins a zone of its net (KiCad's ZONE_CONNECTION; the file stores these numbers). More... | |
| enum class | tmk::model::ViaType : std::uint8_t { tmk::model::Through , tmk::model::Blind , tmk::model::Micro } |
Functions | |
| constexpr LayerMask | tmk::model::layer_bit (int copper_index) |
The board model (design doc 02 §3): every object TraceMaker reads from a .kicad_pcb, in absolute integer-nanometre coordinates, with a link back to its s-expression node for lossless writing.
Definition in file board.hpp.