TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
tmk::route::PairRule Struct Reference

What a pair is routed at. More...

#include <route/diff_pair.hpp>

Public Attributes

Coord width = 0
 track width of each half
Coord gap = 0
 edge-to-edge gap of the coupled section (target; >= required)
Coord required_gap = 0
 smallest gap the rules allow between the halves
Coord offset = 0
 centreline to each track centre: (width + gap) / 2, rounded up, plus a rounding margin
Coord via_diameter = 0
Coord via_drill = 0
Coord via_offset = 0
 centreline to each via centre in a coupled via pair (>= offset)
std::optional< Coord > max_uncoupled
 per half, both ends together
std::string source
 "rule", "net class" or "clearance" (for the report)

Detailed Description

What a pair is routed at.

Sources, highest first: a custom rule's diff_pair_gap (opt, else min) and diff_pair_uncoupled (max); the net class's diff-pair width/gap/via gap when the project sets them; else the net class width and the clearance between the two halves (the tightest legal coupling). Never below the board minimums or the clearance KiCad requires between the halves (the class diff-pair gap relaxes it only for pairs KiCad recognises by name, inDiffPair).

Definition at line 23 of file diff_pair.hpp.

Member Data Documentation

◆ gap

Coord tmk::route::PairRule::gap = 0

edge-to-edge gap of the coupled section (target; >= required)

Definition at line 25 of file diff_pair.hpp.

◆ max_uncoupled

std::optional<Coord> tmk::route::PairRule::max_uncoupled

per half, both ends together

Definition at line 30 of file diff_pair.hpp.

◆ offset

Coord tmk::route::PairRule::offset = 0

centreline to each track centre: (width + gap) / 2, rounded up, plus a rounding margin

Definition at line 27 of file diff_pair.hpp.

◆ required_gap

Coord tmk::route::PairRule::required_gap = 0

smallest gap the rules allow between the halves

Definition at line 26 of file diff_pair.hpp.

◆ source

std::string tmk::route::PairRule::source

"rule", "net class" or "clearance" (for the report)

Definition at line 31 of file diff_pair.hpp.

◆ via_diameter

Coord tmk::route::PairRule::via_diameter = 0

Definition at line 28 of file diff_pair.hpp.

◆ via_drill

Coord tmk::route::PairRule::via_drill = 0

Definition at line 28 of file diff_pair.hpp.

◆ via_offset

Coord tmk::route::PairRule::via_offset = 0

centreline to each via centre in a coupled via pair (>= offset)

Definition at line 29 of file diff_pair.hpp.

◆ width

Coord tmk::route::PairRule::width = 0

track width of each half

Definition at line 24 of file diff_pair.hpp.


The documentation for this struct was generated from the following file: