22 #ifndef __PNS_TOPOLOGY_H 23 #define __PNS_TOPOLOGY_H 65 std::pair<JOINT*, JOINT*>* aTerminalJoints =
nullptr );
80 SOLID** aEndPad =
nullptr );
90 JOINT** aTerminalJoint =
nullptr );
const JOINT_SET ConnectedJoints(JOINT *aStart)
Base class for PNS router board items.
const ITEM_SET AssembleTrivialPath(ITEM *aStart, std::pair< JOINT *, JOINT * > *aTerminalJoints=nullptr)
Assembles a trivial path between two joints given a starting item.
int64_t ShortestConnectionLength(ITEM *aFrom, ITEM *aTo)
Keep the router "world" - i.e.
const ITEM_SET ConnectedItems(JOINT *aStart, int aKindMask=ITEM::ANY_T)
const DIFF_PAIR AssembleDiffPair(SEGMENT *aStart)
ITEM * NearestUnconnectedItem(JOINT *aStart, int *aAnchor=NULL, int aKindMask=ITEM::ANY_T)
const ITEM_SET AssembleTuningPath(ITEM *aStart, SOLID **aStartPad=nullptr, SOLID **aEndPad=nullptr)
Like AssembleTrivialPath, but follows the track length algorithm, which discards segments that are fu...
Represents a track on a PCB, connecting two non-trivial joints (that is, vias, pads,...
const std::set< ITEM * > AssembleCluster(ITEM *aStart, int aLayer)
Represents a 2D point on a given set of layers and belonging to a certain net, that links together a ...
bool followTrivialPath(LINE *aLine, bool aLeft, ITEM_SET &aSet, std::set< ITEM * > &aVisited, JOINT **aTerminalJoint=nullptr)
bool LeadingRatLine(const LINE *aTrack, SHAPE_LINE_CHAIN &aRatLine)
bool SimplifyLine(LINE *aLine)
Push and Shove diff pair dimensions (gap) settings dialog.
std::set< JOINT * > JOINT_SET