KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PNS::DP_GATEWAYS Class Reference

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_GATEWAYm_gateways
 

Detailed Description

A set of gateways calculated for the cursor or starting/ending primitive pair.

Definition at line 167 of file pns_diff_pair.h.

Constructor & Destructor Documentation

◆ DP_GATEWAYS()

PNS::DP_GATEWAYS::DP_GATEWAYS ( int  aGap)
inline

Definition at line 170 of file pns_diff_pair.h.

References m_fitVias, and m_viaDiameter.

Member Function Documentation

◆ buildDpContinuation()

◆ buildEntries()

void PNS::DP_GATEWAYS::buildEntries ( const VECTOR2I p0_p,
const VECTOR2I p0_n 
)
private

◆ BuildForCursor()

void PNS::DP_GATEWAYS::BuildForCursor ( const VECTOR2I aCursorPos)

◆ BuildFromPrimitivePair()

◆ BuildGeneric()

void PNS::DP_GATEWAYS::BuildGeneric ( const VECTOR2I p0_p,
const VECTOR2I p0_n,
bool  aBuildEntries = false,
bool  aViaMode = false 
)

◆ BuildOrthoProjections()

void PNS::DP_GATEWAYS::BuildOrthoProjections ( DP_GATEWAYS aEntries,
const VECTOR2I aCursorPos,
int  aOrthoScore 
)

◆ CGateways()

const std::vector< DP_GATEWAY > & PNS::DP_GATEWAYS::CGateways ( ) const
inline

Definition at line 205 of file pns_diff_pair.h.

References m_gateways.

◆ checkDiagonalAlignment()

bool PNS::DP_GATEWAYS::checkDiagonalAlignment ( const VECTOR2I a,
const VECTOR2I b 
) const
private

Definition at line 388 of file pns_diff_pair.cpp.

References std::abs(), VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by BuildFromPrimitivePair().

◆ Clear()

void PNS::DP_GATEWAYS::Clear ( )
inline

Definition at line 179 of file pns_diff_pair.h.

References m_gateways.

◆ FilterByOrientation()

void PNS::DP_GATEWAYS::FilterByOrientation ( int  aAngleMask,
DIRECTION_45  aRefOrientation 
)

◆ FitGateways()

◆ Gateways()

std::vector< DP_GATEWAY > & PNS::DP_GATEWAYS::Gateways ( )
inline

Definition at line 203 of file pns_diff_pair.h.

References m_gateways.

Referenced by BuildOrthoProjections(), and FitGateways().

◆ SetFitVias()

void PNS::DP_GATEWAYS::SetFitVias ( bool  aEnable,
int  aDiameter = 0,
int  aViaGap = -1 
)
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().

Member Data Documentation

◆ m_fitVias

bool PNS::DP_GATEWAYS::m_fitVias
private

Definition at line 224 of file pns_diff_pair.h.

Referenced by BuildForCursor(), BuildOrthoProjections(), DP_GATEWAYS(), and SetFitVias().

◆ m_gap

int PNS::DP_GATEWAYS::m_gap
private

◆ m_gateways

◆ m_viaDiameter

int PNS::DP_GATEWAYS::m_viaDiameter
private

Definition at line 223 of file pns_diff_pair.h.

Referenced by BuildForCursor(), BuildOrthoProjections(), DP_GATEWAYS(), and SetFitVias().

◆ m_viaGap

int PNS::DP_GATEWAYS::m_viaGap
private

Definition at line 222 of file pns_diff_pair.h.

Referenced by BuildForCursor(), BuildOrthoProjections(), and SetFitVias().


The documentation for this class was generated from the following files: