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
 
struct  FIT_RESULT
 

Public Member Functions

 DP_GATEWAYS (const DP_DIMENSIONS &aDims=DP_DIMENSIONS())
 
void Clear ()
 
void SetFitVias (bool aEnable)
 
bool FittingVias () const
 
void BuildForCursor (const VECTOR2I &aCursorPos, int aDirectionMask=-1)
 
void BuildOrthoProjections (DP_GATEWAYS &aEntries, const VECTOR2I &aCursorPos, int aOrthoScore)
 
void BuildGeneric (const VECTOR2I &p0_p, const VECTOR2I &p0_n, int aColinearityThreshold=0, bool aBuildEntries=false, bool aViaMode=false)
 
void BuildFromPrimitivePair (const DP_PRIMITIVE_PAIR &aPair, bool aPreferDiagonal)
 
std::vector< FIT_RESULTFitGateways (DP_GATEWAYS &aEntry, DP_GATEWAYS &aTarget, bool aFitVias)
 
std::vector< DP_GATEWAY > & Gateways ()
 
const std::vector< DP_GATEWAY > & CGateways () const
 
void FilterByOrientation (int aDirectionMask)
 
void SetDimensions (const DP_DIMENSIONS &aDims)
 

Private Member Functions

void addGateway (DP_GATEWAY &aGw, const wxString &name=wxT(""), bool aAddTurns=false)
 
bool checkDiagonalAlignment (const VECTOR2I &a, const VECTOR2I &b) const
 
void buildDpContinuation (const DP_PRIMITIVE_PAIR &aPair, bool aIsDiagonal)
 
void buildEntries (DP_GATEWAY &aGw, const VECTOR2I &p0_p, const VECTOR2I &p0_n)
 
void buildFromPads (const DP_PRIMITIVE_PAIR &aPair)
 

Private Attributes

DP_DIMENSIONS m_dims
 
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 299 of file pns_diff_pair.h.

Constructor & Destructor Documentation

◆ DP_GATEWAYS()

PNS::DP_GATEWAYS::DP_GATEWAYS ( const DP_DIMENSIONS & aDims = DP_DIMENSIONS())
inline

Definition at line 302 of file pns_diff_pair.h.

References m_dims, and m_fitVias.

Referenced by BuildOrthoProjections(), and FitGateways().

Member Function Documentation

◆ addGateway()

void PNS::DP_GATEWAYS::addGateway ( DP_GATEWAY & aGw,
const wxString & name = wxT(""),
bool aAddTurns = false )
private

◆ buildDpContinuation()

◆ buildEntries()

◆ BuildForCursor()

◆ buildFromPads()

void PNS::DP_GATEWAYS::buildFromPads ( const DP_PRIMITIVE_PAIR & aPair)
private

◆ BuildFromPrimitivePair()

◆ BuildGeneric()

◆ 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 343 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 672 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 309 of file pns_diff_pair.h.

References m_gateways.

◆ FilterByOrientation()

void PNS::DP_GATEWAYS::FilterByOrientation ( int aDirectionMask)

◆ FitGateways()

◆ FittingVias()

bool PNS::DP_GATEWAYS::FittingVias ( ) const
inline

Definition at line 316 of file pns_diff_pair.h.

References m_fitVias.

◆ Gateways()

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

Definition at line 341 of file pns_diff_pair.h.

References m_gateways.

Referenced by BuildOrthoProjections(), PNS::drawGateways(), and FitGateways().

◆ SetDimensions()

void PNS::DP_GATEWAYS::SetDimensions ( const DP_DIMENSIONS & aDims)
inline

Definition at line 347 of file pns_diff_pair.h.

References m_dims, and m_gateways.

Referenced by PNS::DIFF_PAIR_PLACER::routeHead().

◆ SetFitVias()

void PNS::DP_GATEWAYS::SetFitVias ( bool aEnable)
inline

Definition at line 311 of file pns_diff_pair.h.

References m_fitVias.

Referenced by PNS::DIFF_PAIR_PLACER::routeHead().

Member Data Documentation

◆ m_dims

◆ m_fitVias

bool PNS::DP_GATEWAYS::m_fitVias
private

◆ m_gateways


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