KiCad PCB EDA Suite
|
A set of gateways calculated for the cursor or starting/ending primitive pair. More...
#include <pns_diff_pair.h>
Classes | |
struct | DP_CANDIDATE |
Public Member Functions | |
DP_GATEWAYS (int aGap) | |
void | Clear () |
void | SetFitVias (bool aEnable, int aDiameter=0, int aViaGap=-1) |
void | BuildForCursor (const VECTOR2I &aCursorPos) |
void | BuildOrthoProjections (DP_GATEWAYS &aEntries, const VECTOR2I &aCursorPos, int aOrthoScore) |
void | BuildGeneric (const VECTOR2I &p0_p, const VECTOR2I &p0_n, bool aBuildEntries=false, bool aViaMode=false) |
void | BuildFromPrimitivePair (const DP_PRIMITIVE_PAIR &aPair, bool aPreferDiagonal) |
bool | FitGateways (DP_GATEWAYS &aEntry, DP_GATEWAYS &aTarget, bool aPrefDiagonal, DIFF_PAIR &aDp) |
std::vector< DP_GATEWAY > & | Gateways () |
const std::vector< DP_GATEWAY > & | CGateways () const |
void | FilterByOrientation (int aAngleMask, DIRECTION_45 aRefOrientation) |
Private Member Functions | |
bool | checkDiagonalAlignment (const VECTOR2I &a, const VECTOR2I &b) const |
void | buildDpContinuation (const DP_PRIMITIVE_PAIR &aPair, bool aIsDiagonal) |
void | buildEntries (const VECTOR2I &p0_p, const VECTOR2I &p0_n) |
Private Attributes | |
int | m_gap |
int | m_viaGap |
int | m_viaDiameter |
bool | m_fitVias |
std::vector< DP_GATEWAY > | m_gateways |
A set of gateways calculated for the cursor or starting/ending primitive pair.
Definition at line 167 of file pns_diff_pair.h.
|
inline |
Definition at line 170 of file pns_diff_pair.h.
References m_fitVias, and m_viaDiameter.
|
private |
Definition at line 604 of file pns_diff_pair.cpp.
References PNS::DP_PRIMITIVE_PAIR::AnchorN(), PNS::DP_PRIMITIVE_PAIR::AnchorP(), SHAPE_LINE_CHAIN::Append(), SHAPE_LINE_CHAIN::CLastPoint(), delta, PNS::DP_PRIMITIVE_PAIR::Directional(), PNS::DP_PRIMITIVE_PAIR::DirN(), PNS::DP_PRIMITIVE_PAIR::DirP(), EPSILON, KiROUND(), m_gap, m_gateways, VECTOR2< T >::Resize(), PNS::DP_GATEWAY::SetEntryLines(), PNS::DP_GATEWAY::SetPriority(), and DIRECTION_45::ToVector().
Referenced by BuildFromPrimitivePair().
Definition at line 588 of file pns_diff_pair.cpp.
References DIRECTION_45::BuildInitialTrace(), m_gateways, and SHAPE_LINE_CHAIN::Reverse().
Referenced by BuildGeneric().
void PNS::DP_GATEWAYS::BuildForCursor | ( | const VECTOR2I & | aCursorPos | ) |
Definition at line 551 of file pns_diff_pair.cpp.
References BuildGeneric(), m_fitVias, m_gap, m_gateways, m_viaDiameter, m_viaGap, PNS::makeGapVector(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by BuildOrthoProjections(), and PNS::DIFF_PAIR_PLACER::routeHead().
void PNS::DP_GATEWAYS::BuildFromPrimitivePair | ( | const DP_PRIMITIVE_PAIR & | aPair, |
bool | aPreferDiagonal | ||
) |
Definition at line 423 of file pns_diff_pair.cpp.
References SEG::A, PNS::DP_PRIMITIVE_PAIR::AnchorN(), PNS::DP_PRIMITIVE_PAIR::AnchorP(), PNS::ITEM::ARC_T, SEG::B, SHAPE::BBox(), buildDpContinuation(), BuildGeneric(), checkDiagonalAlignment(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetWidth(), m_gap, m_gateways, PNS::makeGapVector(), PNS::ITEM::OfKind(), PNS::DP_PRIMITIVE_PAIR::PrimN(), PNS::DP_PRIMITIVE_PAIR::PrimP(), PNS::ITEM::SEGMENT_T, SH_CIRCLE, SH_COMPOUND, SH_RECT, SH_SEGMENT, SH_SIMPLE, PNS::ITEM::Shape(), SHAPE_TYPE_asString(), sign(), PNS::ITEM::SOLID_T, SHAPE_BASE::Type(), and PNS::ITEM::VIA_T.
Referenced by PNS::DIFF_PAIR_PLACER::routeHead().
void PNS::DP_GATEWAYS::BuildGeneric | ( | const VECTOR2I & | p0_p, |
const VECTOR2I & | p0_n, | ||
bool | aBuildEntries = false , |
||
bool | aViaMode = false |
||
) |
Definition at line 654 of file pns_diff_pair.cpp.
References DIRECTION_45::ANG_ACUTE, DIRECTION_45::ANG_OBTUSE, DIRECTION_45::ANG_RIGHT, PNS::angle(), buildEntries(), SEG::Collinear(), SEG::IntersectLines(), m_gap, m_gateways, PNS::makeGapVector(), and VECTOR2< T >::Perpendicular().
Referenced by BuildForCursor(), and BuildFromPrimitivePair().
void PNS::DP_GATEWAYS::BuildOrthoProjections | ( | DP_GATEWAYS & | aEntries, |
const VECTOR2I & | aCursorPos, | ||
int | aOrthoScore | ||
) |
Definition at line 307 of file pns_diff_pair.cpp.
References BuildForCursor(), Gateways(), SEG::LineProject(), m_fitVias, m_gap, m_gateways, m_viaDiameter, and m_viaGap.
|
inline |
Definition at line 205 of file pns_diff_pair.h.
References m_gateways.
|
private |
Definition at line 388 of file pns_diff_pair.cpp.
References std::abs(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by BuildFromPrimitivePair().
|
inline |
Definition at line 179 of file pns_diff_pair.h.
References m_gateways.
void PNS::DP_GATEWAYS::FilterByOrientation | ( | int | aAngleMask, |
DIRECTION_45 | aRefOrientation | ||
) |
Definition at line 396 of file pns_diff_pair.cpp.
References PNS::DP_GATEWAY::AnchorN(), PNS::DP_GATEWAY::AnchorP(), DIRECTION_45::Angle(), alg::delete_if(), and m_gateways.
Referenced by PNS::DIFF_PAIR_PLACER::routeHead().
bool PNS::DP_GATEWAYS::FitGateways | ( | DP_GATEWAYS & | aEntry, |
DP_GATEWAYS & | aTarget, | ||
bool | aPrefDiagonal, | ||
DIFF_PAIR & | aDp | ||
) |
Definition at line 341 of file pns_diff_pair.cpp.
References PNS::DIFF_PAIR::BuildInitial(), PNS::DIFF_PAIR::CN(), PNS::DIFF_PAIR::CP(), Gateways(), m_gap, PNS::DP_GATEWAYS::DP_CANDIDATE::n, PNS::DP_GATEWAYS::DP_CANDIDATE::p, PNS::DIFF_PAIR::SetGap(), and PNS::DIFF_PAIR::SetShape().
Referenced by PNS::DIFF_PAIR_PLACER::routeHead().
|
inline |
Definition at line 203 of file pns_diff_pair.h.
References m_gateways.
Referenced by BuildOrthoProjections(), and FitGateways().
|
inline |
Definition at line 181 of file pns_diff_pair.h.
References m_fitVias, m_gap, m_viaDiameter, and m_viaGap.
Referenced by PNS::DIFF_PAIR_PLACER::routeHead().
|
private |
Definition at line 224 of file pns_diff_pair.h.
Referenced by BuildForCursor(), BuildOrthoProjections(), DP_GATEWAYS(), and SetFitVias().
|
private |
Definition at line 221 of file pns_diff_pair.h.
Referenced by buildDpContinuation(), BuildForCursor(), BuildFromPrimitivePair(), BuildGeneric(), BuildOrthoProjections(), FitGateways(), and SetFitVias().
|
private |
Definition at line 226 of file pns_diff_pair.h.
Referenced by buildDpContinuation(), buildEntries(), BuildForCursor(), BuildFromPrimitivePair(), BuildGeneric(), BuildOrthoProjections(), CGateways(), Clear(), FilterByOrientation(), and Gateways().
|
private |
Definition at line 223 of file pns_diff_pair.h.
Referenced by BuildForCursor(), BuildOrthoProjections(), DP_GATEWAYS(), and SetFitVias().
|
private |
Definition at line 222 of file pns_diff_pair.h.
Referenced by BuildForCursor(), BuildOrthoProjections(), and SetFitVias().