TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
rules.hpp File Reference

Design rules as KiCad defines them (design doc 08 §3–4): board minimums and net classes from the .kicad_pro project file, plus custom rules from the .kicad_dru file. More...

#include <cstdint>
#include <map>
#include <optional>
#include <string>
#include <vector>
#include "core/units.hpp"

Go to the source code of this file.

Classes

struct  tmk::model::NetClass
struct  tmk::model::TuningLayer
 A KiCad 10 tuning profile (.kicad_pro tuning_profiles, doc 05 §58): per signal layer the track width and pair gap of the class's nets there (0 = not set) and the propagation delay per millimetre (KiCad's time units; used only with time-domain tuning). More...
struct  tmk::model::TuningViaOverride
 A via's delay for one signal-layer and via-layer span, instead of the profile's delay per mm (layer names as the project gives them; KiCad matches them exactly, upper layer first). More...
struct  tmk::model::TuningProfile
struct  tmk::model::BoardMinimums
struct  tmk::model::Constraint
 One constraint inside a custom rule, e.g. (constraint clearance (min 0.2mm)). More...
struct  tmk::model::CustomRule
struct  tmk::model::DesignRules

Namespaces

namespace  tmk
namespace  tmk::model

Functions

bool tmk::model::wildcard_match (std::string_view pattern, std::string_view text)
 KiCad net-class pattern match: shell-style wildcards (* and ?), case-sensitive.
bool tmk::model::pattern_match (const std::string &pattern, const std::string &text)
 Net-class pattern: wildcard match or full regular-expression match (KiCad accepts both).

Detailed Description

Design rules as KiCad defines them (design doc 08 §3–4): board minimums and net classes from the .kicad_pro project file, plus custom rules from the .kicad_dru file.

Definition in file rules.hpp.