|
KiCad PCB EDA Suite
|
Store starting/ending primitives (pads, vias or segments) for a differential pair. More...
#include <pns_diff_pair.h>
Public Member Functions | |
| DP_PRIMITIVE_PAIR () | |
| DP_PRIMITIVE_PAIR (const DP_PRIMITIVE_PAIR &aOther) | |
| DP_PRIMITIVE_PAIR (ITEM *aPrimP, ITEM *aPrimN) | |
| DP_PRIMITIVE_PAIR (const VECTOR2I &aAnchorP, const VECTOR2I &aAnchorN) | |
| ~DP_PRIMITIVE_PAIR () | |
| void | SetAnchors (const VECTOR2I &aAnchorP, const VECTOR2I &aAnchorN) |
| void | SetPrimitives (ITEM *aPrimP, ITEM *aPrimN) |
| const VECTOR2I & | AnchorP () const |
| const VECTOR2I & | AnchorN () const |
| DP_PRIMITIVE_PAIR & | operator= (const DP_PRIMITIVE_PAIR &aOther) |
| ITEM * | PrimP () const |
| ITEM * | PrimN () const |
| bool | Directional () const |
| DIRECTION_45 | DirP () const |
| DIRECTION_45 | DirN () const |
| void | CursorOrientation (const VECTOR2I &aCursorPos, VECTOR2I &aMidpoint, VECTOR2I &aDirection) const |
| void | SetIsMidtrace (bool aMidtrace) |
| bool | IsMidtrace () const |
| void | Unlink () |
| void | SetName (const wxString &aName) |
| const wxString & | GetName () const |
| bool | HasDefinedGap () const |
| int | GetGap () const |
| void | SetGap (int aGap) |
| void | SetFixedDirection (DIRECTION_45 aDir) |
| bool | HasFixedDirection () const |
| DIRECTION_45 | FixedDirection () const |
| int | GetMinDimension () const |
Static Public Attributes | |
| static constexpr double | DP_ASSUME_PRIMS_COLINEAR_FACTOR = 0.1 |
Private Member Functions | |
| DIRECTION_45 | anchorDirection (const ITEM *aItem, const VECTOR2I &aP) const |
Private Attributes | |
| ITEM * | m_primP |
| ITEM * | m_primN |
| VECTOR2I | m_anchorP |
| VECTOR2I | m_anchorN |
| bool | m_isMidtrace |
| std::optional< DIRECTION_45 > | m_fixedDirection |
| wxString | m_name |
| std::optional< int > | m_gap |
Store starting/ending primitives (pads, vias or segments) for a differential pair.
Definition at line 212 of file pns_diff_pair.h.
|
inline |
Definition at line 217 of file pns_diff_pair.h.
References m_primN, and m_primP.
Referenced by DP_PRIMITIVE_PAIR(), and operator=().
| PNS::DP_PRIMITIVE_PAIR::DP_PRIMITIVE_PAIR | ( | const DP_PRIMITIVE_PAIR & | aOther | ) |
Definition at line 73 of file pns_diff_pair.cpp.
References DP_PRIMITIVE_PAIR(), m_anchorN, m_anchorP, m_isMidtrace, m_name, m_primN, and m_primP.
| PNS::DP_PRIMITIVE_PAIR::~DP_PRIMITIVE_PAIR | ( | ) |
Definition at line 108 of file pns_diff_pair.cpp.
|
private |
Definition at line 122 of file pns_diff_pair.cpp.
References PNS::ITEM::Anchor(), PNS::ITEM::ARC_T, PNS::ITEM::OfKind(), and PNS::ITEM::SEGMENT_T.
|
inline |
Definition at line 229 of file pns_diff_pair.h.
References m_anchorN.
Referenced by PNS::DP_GATEWAYS::buildDpContinuation(), PNS::DP_GATEWAYS::BuildFromPrimitivePair(), PNS::DIFF_PAIR_PLACER::FindDpPrimitivePair(), and PNS::DIFF_PAIR_PLACER::routeHead().
|
inline |
Definition at line 228 of file pns_diff_pair.h.
References m_anchorP.
Referenced by PNS::DP_GATEWAYS::buildDpContinuation(), PNS::DP_GATEWAYS::BuildFromPrimitivePair(), PNS::DIFF_PAIR_PLACER::FindDpPrimitivePair(), and PNS::DIFF_PAIR_PLACER::routeHead().
| void PNS::DP_PRIMITIVE_PAIR::CursorOrientation | ( | const VECTOR2I & | aCursorPos, |
| VECTOR2I & | aMidpoint, | ||
| VECTOR2I & | aDirection ) const |
Definition at line 134 of file pns_diff_pair.cpp.
References SEG::A, SEG::ApproxParallel(), SEG::B, VECTOR2< T >::Dot(), m_primN, m_primP, VECTOR2< T >::Resize(), and PNS::ITEM::SEGMENT_T.
| bool PNS::DP_PRIMITIVE_PAIR::Directional | ( | ) | const |
Definition at line 113 of file pns_diff_pair.cpp.
References PNS::ITEM::ARC_T, m_primP, and PNS::ITEM::SEGMENT_T.
Referenced by PNS::DP_GATEWAYS::buildDpContinuation().
| DIRECTION_45 PNS::DP_PRIMITIVE_PAIR::DirN | ( | ) | const |
Definition at line 179 of file pns_diff_pair.cpp.
References anchorDirection(), m_anchorN, and m_primN.
Referenced by PNS::DP_GATEWAYS::buildDpContinuation(), and PNS::DIFF_PAIR_PLACER::routeHead().
| DIRECTION_45 PNS::DP_PRIMITIVE_PAIR::DirP | ( | ) | const |
Definition at line 173 of file pns_diff_pair.cpp.
References anchorDirection(), m_anchorP, and m_primP.
Referenced by PNS::DP_GATEWAYS::buildDpContinuation(), and PNS::DIFF_PAIR_PLACER::routeHead().
|
inline |
Definition at line 276 of file pns_diff_pair.h.
References m_fixedDirection.
|
inline |
Definition at line 264 of file pns_diff_pair.h.
References m_gap.
| int PNS::DP_PRIMITIVE_PAIR::GetMinDimension | ( | ) | const |
Definition at line 1138 of file pns_diff_pair.cpp.
References m_primN, m_primP, and PNS::minDimensionForPrimitive().
Referenced by PNS::DP_GATEWAYS::BuildFromPrimitivePair().
|
inline |
Definition at line 261 of file pns_diff_pair.h.
References m_name.
|
inline |
Definition at line 263 of file pns_diff_pair.h.
References m_gap.
|
inline |
Definition at line 272 of file pns_diff_pair.h.
References m_fixedDirection.
|
inline |
Definition at line 250 of file pns_diff_pair.h.
References m_isMidtrace.
| DP_PRIMITIVE_PAIR & PNS::DP_PRIMITIVE_PAIR::operator= | ( | const DP_PRIMITIVE_PAIR & | aOther | ) |
Definition at line 86 of file pns_diff_pair.cpp.
References DP_PRIMITIVE_PAIR(), m_anchorN, m_anchorP, m_isMidtrace, m_name, m_primN, and m_primP.
|
inline |
Definition at line 234 of file pns_diff_pair.h.
References m_primN.
Referenced by PNS::DP_GATEWAYS::buildDpContinuation(), and PNS::DP_GATEWAYS::BuildFromPrimitivePair().
|
inline |
Definition at line 233 of file pns_diff_pair.h.
References m_primP.
Referenced by PNS::DP_GATEWAYS::buildDpContinuation(), and PNS::DP_GATEWAYS::BuildFromPrimitivePair().
Definition at line 52 of file pns_diff_pair.cpp.
References m_anchorN, and m_anchorP.
Referenced by PNS::DIFF_PAIR::EndingPrimitives(), and PNS::DIFF_PAIR_PLACER::findDpEndingPrimitives().
|
inline |
Definition at line 267 of file pns_diff_pair.h.
References m_fixedDirection.
|
inline |
Definition at line 265 of file pns_diff_pair.h.
References m_gap.
|
inline |
Definition at line 245 of file pns_diff_pair.h.
References m_isMidtrace.
Referenced by PNS::DIFF_PAIR_PLACER::findDpEndingPrimitives().
|
inline |
Definition at line 260 of file pns_diff_pair.h.
References m_name.
Definition at line 58 of file pns_diff_pair.cpp.
References m_primN, and m_primP.
Referenced by PNS::DIFF_PAIR::EndingPrimitives().
|
inline |
Definition at line 255 of file pns_diff_pair.h.
|
staticconstexpr |
Definition at line 215 of file pns_diff_pair.h.
Referenced by PNS::DP_GATEWAYS::BuildFromPrimitivePair().
|
private |
Definition at line 289 of file pns_diff_pair.h.
Referenced by AnchorN(), DirN(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), operator=(), and SetAnchors().
|
private |
Definition at line 289 of file pns_diff_pair.h.
Referenced by AnchorP(), DirP(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), operator=(), and SetAnchors().
|
private |
Definition at line 291 of file pns_diff_pair.h.
Referenced by FixedDirection(), HasFixedDirection(), and SetFixedDirection().
|
private |
Definition at line 293 of file pns_diff_pair.h.
Referenced by GetGap(), HasDefinedGap(), and SetGap().
|
private |
Definition at line 290 of file pns_diff_pair.h.
Referenced by DP_PRIMITIVE_PAIR(), IsMidtrace(), operator=(), and SetIsMidtrace().
|
private |
Definition at line 292 of file pns_diff_pair.h.
Referenced by DP_PRIMITIVE_PAIR(), GetName(), operator=(), and SetName().
|
private |
Definition at line 288 of file pns_diff_pair.h.
Referenced by CursorOrientation(), DirN(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), GetMinDimension(), operator=(), PrimN(), SetPrimitives(), and Unlink().
|
private |
Definition at line 287 of file pns_diff_pair.h.
Referenced by CursorOrientation(), Directional(), DirP(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), DP_PRIMITIVE_PAIR(), GetMinDimension(), operator=(), PrimP(), SetPrimitives(), and Unlink().