24 const std::vector<model::NetId>&
fp_nets(
int fi)
const {
return fp_nets_[
static_cast<std::size_t
>(fi)]; }
29 const std::string&
letters(
int fi)
const {
return letters_[
static_cast<std::size_t
>(fi)]; }
47 std::vector<std::vector<int>> net_pads_;
48 std::vector<std::vector<model::NetId>> fp_nets_;
49 std::vector<std::string> letters_;
50 std::vector<std::uint8_t> ground_, supply_;
51 bool has_pin_names_ =
false;
The board model (design doc 02 §3): every object TraceMaker reads from a .kicad_pcb,...
std::vector< int > parts_on(model::NetId n) const
Footprints with a pad on the net, ascending.
bool is_series(int fi) const
two-pad R*, FB*, L*, RN? (series element for net walks)
const model::Board & board() const
bool signal(model::NetId n) const
Neither ground nor supply.
bool has_pin_names() const
const std::vector< int > & net_pads(model::NetId n) const
bool is_connector(int fi) const
J, P, CN*, CON*, USB*, XS* followed by a digit (doc 04 connectors).
const std::vector< model::NetId > & fp_nets(int fi) const
Distinct nets (non-zero) on a footprint's pads, ascending.
int pad_count(int fi) const
pads with a net or copper (mechanical NPTH excluded)
bool supply(model::NetId n) const
bool is_ic(int fi) const
U, IC (D25's definition).
int pad_on(int fi, model::NetId n) const
First pad (ascending index) of footprint fi on net n, or -1.
bool is_cap(int fi) const
C* with exactly two pads.
BoardIndex(const model::Board &b)
const std::string & letters(int fi) const
const std::string & net_name(model::NetId n) const
bool is_regulator_ref(int fi) const
U, IC, VR*, REG*, PS*.
bool ground(model::NetId n) const
std::vector< DecapTie > decap_ties(const model::Board &b, const std::function< bool(int)> &usable, bool generalised)
std::int32_t NetId
0 = no net
Decision D25 (doc 04 §2): a two-pad capacitor (C*) between a supply net and a ground net is tied to t...
int cap_pad
the capacitor's supply pad
int ic_pad
the IC pad it is tied to