|
KiCad PCB EDA Suite
|
Define a "gateway" for routing a differential pair - e.g. More...
#include <pns_diff_pair.h>
Public Member Functions | |
| DP_GATEWAY (const VECTOR2I &aAnchorP, const VECTOR2I &aAnchorN, bool aIsDiagonal, int aAllowedEntryAngles=DIRECTION_45::ANG_OBTUSE, int aPriority=0, int aDirectionMask=0, const wxString aName=wxT("")) | |
| DP_GATEWAY () | |
| ~DP_GATEWAY () | |
| void | SetDimensions (const DP_DIMENSIONS &aDims) |
| void | SetPrimaryDirection (DIRECTION_45 aPrimDir) |
| void | AddPrimaryDirection (DIRECTION_45 aPrimDir) |
| bool | HasPrimaryDirection () const |
| int | PrimaryDirectionMask () const |
| const DP_DIMENSIONS & | Dimensions () const |
| void | SetDirections (DIRECTION_45 dP, DIRECTION_45 dN) |
| bool | IsDiagonal () const |
| void | SetName (const wxString &aName) |
| const wxString | GetName () const |
| const VECTOR2I & | AnchorP () const |
| const VECTOR2I & | AnchorN () const |
| int | AllowedAngles () const |
| int | Priority () const |
| void | SetPriority (int aPriority) |
| void | SetEntryLines (const SHAPE_LINE_CHAIN &aEntryP, const SHAPE_LINE_CHAIN &aEntryN) |
| void | SetAnchors (const VECTOR2I &aP, const VECTOR2I &aN) |
| const SHAPE_LINE_CHAIN & | EntryP () const |
| const SHAPE_LINE_CHAIN & | EntryN () const |
| const DIFF_PAIR | Entry () const |
| void | Reverse () |
| bool | HasEntryLines () const |
| std::optional< DP_GATEWAY > | Extend (int aLength) |
| std::optional< DP_GATEWAY > | AddTurns (bool aSide, bool a90Deg, bool aLeft, bool aWiggle) |
| DIRECTION_45 | DirP () const |
| DIRECTION_45 | DirN () const |
Private Attributes | |
| DP_DIMENSIONS | m_dims |
| DIRECTION_45 | m_dirP |
| DIRECTION_45 | m_dirN |
| SHAPE_LINE_CHAIN | m_entryP |
| SHAPE_LINE_CHAIN | m_entryN |
| bool | m_hasEntryLines |
| VECTOR2I | m_anchorP |
| VECTOR2I | m_anchorN |
| bool | m_isDiagonal |
| int | m_allowedEntryAngles |
| int | m_priority |
| int | m_directionMask |
| wxString | m_name |
Define a "gateway" for routing a differential pair - e.g.
a pair of points (anchors) with certain orientation, spacing and (optionally) predefined entry paths. The routing algorithm connects such gateways with parallel lines, thus creating a differential pair.
Definition at line 85 of file pns_diff_pair.h.
|
inline |
Definition at line 88 of file pns_diff_pair.h.
References DIRECTION_45::ANG_OBTUSE, m_allowedEntryAngles, m_anchorN, m_anchorP, m_directionMask, m_hasEntryLines, m_isDiagonal, m_name, and m_priority.
Referenced by AddTurns(), and Extend().
|
inline |
Definition at line 102 of file pns_diff_pair.h.
|
inline |
Definition at line 107 of file pns_diff_pair.h.
|
inline |
Definition at line 118 of file pns_diff_pair.h.
References m_directionMask, and DIRECTION_45::Mask().
Referenced by PNS::DP_GATEWAYS::BuildForCursor().
| std::optional< DP_GATEWAY > PNS::DP_GATEWAY::AddTurns | ( | bool | aSide, |
| bool | a90Deg, | ||
| bool | aLeft, | ||
| bool | aWiggle ) |
Definition at line 478 of file pns_diff_pair.cpp.
References AnchorN(), AnchorP(), SHAPE_LINE_CHAIN::Append(), SHAPE_LINE_CHAIN::CLastPoint(), DP_GATEWAY(), EntryN(), EntryP(), DIRECTION_45::Format(), PNS::ROUTER_IFACE::GetDebugDecorator(), PNS::ROUTER::GetInstance(), PNS::ROUTER::GetInterface(), IsDiagonal(), DIRECTION_45::Left(), m_dims, m_dirN, m_dirP, m_isDiagonal, m_name, M_PI, PNS_DBG, VECTOR2< T >::Resize(), DIRECTION_45::Right(), SetAnchors(), SetDirections(), SetEntryLines(), SetPrimaryDirection(), SEG::Side(), and DIRECTION_45::ToVector().
Referenced by PNS::DP_GATEWAYS::addGateway().
|
inline |
Definition at line 151 of file pns_diff_pair.h.
References m_allowedEntryAngles.
Referenced by PNS::DIFF_PAIR::BuildInitial().
|
inline |
Definition at line 146 of file pns_diff_pair.h.
References m_anchorN.
Referenced by AddTurns(), PNS::DP_GATEWAYS::buildEntries(), PNS::DIFF_PAIR::BuildInitial(), PNS::drawSingleGateway(), and Extend().
|
inline |
Definition at line 144 of file pns_diff_pair.h.
References m_anchorP.
Referenced by AddTurns(), PNS::DP_GATEWAYS::buildEntries(), PNS::DIFF_PAIR::BuildInitial(), PNS::drawSingleGateway(), and Extend().
|
inline |
Definition at line 130 of file pns_diff_pair.h.
References m_dims.
Referenced by PNS::DP_GATEWAYS::addGateway(), and PNS::DIFF_PAIR::BuildInitial().
|
inline |
Definition at line 194 of file pns_diff_pair.h.
References m_dirN.
|
inline |
Definition at line 193 of file pns_diff_pair.h.
References m_dirP.
| const DIFF_PAIR PNS::DP_GATEWAY::Entry | ( | ) | const |
Definition at line 427 of file pns_diff_pair.cpp.
References DIFF_PAIR, m_entryN, and m_entryP.
Referenced by PNS::DIFF_PAIR::BuildInitial().
|
inline |
Definition at line 180 of file pns_diff_pair.h.
References m_entryN.
Referenced by AddTurns(), and PNS::drawSingleGateway().
|
inline |
Definition at line 179 of file pns_diff_pair.h.
References m_entryP.
Referenced by AddTurns(), and PNS::drawSingleGateway().
| std::optional< DP_GATEWAY > PNS::DP_GATEWAY::Extend | ( | int | aLength | ) |
Definition at line 433 of file pns_diff_pair.cpp.
References AnchorN(), AnchorP(), SHAPE_LINE_CHAIN::Append(), SEG::B, DP_GATEWAY(), epsilon, SEG::LineDistance(), SEG::LineProject(), m_anchorN, m_anchorP, m_dirN, m_dirP, m_entryN, m_entryP, VECTOR2< T >::Resize(), DIRECTION_45::Right(), and DIRECTION_45::ToVector().
Referenced by PNS::DP_GATEWAYS::BuildGeneric().
| const wxString PNS::DP_GATEWAY::GetName | ( | ) | const |
Definition at line 388 of file pns_diff_pair.cpp.
References m_dirN, m_dirP, m_name, and m_priority.
Referenced by PNS::DIFF_PAIR::BuildInitial(), and PNS::DIFF_PAIR_PLACER::routeHead().
|
inline |
Definition at line 185 of file pns_diff_pair.h.
References m_hasEntryLines.
Referenced by PNS::DP_GATEWAYS::buildEntries(), and PNS::DIFF_PAIR::BuildInitial().
|
inline |
Definition at line 123 of file pns_diff_pair.h.
References m_directionMask.
Referenced by PNS::DIFF_PAIR::BuildInitial(), and PNS::DP_GATEWAYS::FilterByOrientation().
|
inline |
Definition at line 136 of file pns_diff_pair.h.
References m_isDiagonal.
Referenced by AddTurns(), PNS::DP_GATEWAYS::buildEntries(), and PNS::DIFF_PAIR::BuildInitial().
|
inline |
Definition at line 125 of file pns_diff_pair.h.
References m_directionMask.
Referenced by PNS::DIFF_PAIR::BuildInitial(), and PNS::DP_GATEWAYS::FilterByOrientation().
|
inline |
Definition at line 156 of file pns_diff_pair.h.
References m_priority.
Referenced by PNS::DIFF_PAIR::BuildInitial().
| void PNS::DP_GATEWAY::Reverse | ( | ) |
Definition at line 194 of file pns_diff_pair.cpp.
References m_entryN, and m_entryP.
Referenced by PNS::DIFF_PAIR::BuildInitial().
Definition at line 173 of file pns_diff_pair.h.
References m_anchorN, and m_anchorP.
Referenced by AddTurns().
|
inline |
Definition at line 111 of file pns_diff_pair.h.
References m_dims.
Referenced by PNS::DP_GATEWAYS::addGateway(), PNS::DP_GATEWAYS::buildDpContinuation(), and PNS::DP_GATEWAYS::BuildGeneric().
|
inline |
Definition at line 131 of file pns_diff_pair.h.
References m_dirN, and m_dirP.
Referenced by AddTurns(), PNS::DP_GATEWAYS::buildDpContinuation(), and PNS::DP_GATEWAYS::BuildGeneric().
|
inline |
Definition at line 166 of file pns_diff_pair.h.
References m_entryN, m_entryP, and m_hasEntryLines.
Referenced by AddTurns(), PNS::DP_GATEWAYS::buildDpContinuation(), and PNS::DP_GATEWAYS::buildEntries().
|
inline |
Definition at line 141 of file pns_diff_pair.h.
References m_name.
Referenced by PNS::DP_GATEWAYS::addGateway(), PNS::DP_GATEWAYS::buildDpContinuation(), and PNS::DP_GATEWAYS::BuildForCursor().
|
inline |
Definition at line 113 of file pns_diff_pair.h.
References m_directionMask, and DIRECTION_45::Mask().
Referenced by AddTurns(), PNS::DP_GATEWAYS::buildDpContinuation(), PNS::DP_GATEWAYS::BuildForCursor(), and PNS::DP_GATEWAYS::BuildGeneric().
|
inline |
Definition at line 161 of file pns_diff_pair.h.
References m_priority.
Referenced by PNS::DP_GATEWAYS::buildDpContinuation().
|
private |
Definition at line 203 of file pns_diff_pair.h.
Referenced by AllowedAngles(), and DP_GATEWAY().
|
private |
Definition at line 201 of file pns_diff_pair.h.
Referenced by AnchorN(), DP_GATEWAY(), Extend(), and SetAnchors().
|
private |
Definition at line 201 of file pns_diff_pair.h.
Referenced by AnchorP(), DP_GATEWAY(), Extend(), and SetAnchors().
|
private |
Definition at line 197 of file pns_diff_pair.h.
Referenced by AddTurns(), Dimensions(), and SetDimensions().
|
private |
Definition at line 205 of file pns_diff_pair.h.
Referenced by AddPrimaryDirection(), DP_GATEWAY(), HasPrimaryDirection(), PrimaryDirectionMask(), and SetPrimaryDirection().
|
private |
Definition at line 198 of file pns_diff_pair.h.
Referenced by AddTurns(), DirN(), Extend(), GetName(), and SetDirections().
|
private |
Definition at line 198 of file pns_diff_pair.h.
Referenced by AddTurns(), DirP(), Extend(), GetName(), and SetDirections().
|
private |
Definition at line 199 of file pns_diff_pair.h.
Referenced by Entry(), EntryN(), Extend(), Reverse(), and SetEntryLines().
|
private |
Definition at line 199 of file pns_diff_pair.h.
Referenced by Entry(), EntryP(), Extend(), Reverse(), and SetEntryLines().
|
private |
Definition at line 200 of file pns_diff_pair.h.
Referenced by DP_GATEWAY(), HasEntryLines(), and SetEntryLines().
|
private |
Definition at line 202 of file pns_diff_pair.h.
Referenced by AddTurns(), DP_GATEWAY(), and IsDiagonal().
|
private |
Definition at line 206 of file pns_diff_pair.h.
Referenced by AddTurns(), DP_GATEWAY(), GetName(), and SetName().
|
private |
Definition at line 204 of file pns_diff_pair.h.
Referenced by DP_GATEWAY(), GetName(), Priority(), and SetPriority().