KiCad PCB EDA Suite
Loading...
Searching...
No Matches
TMATCH::CONNECTION_GRAPH Class Reference

#include <topo_match.h>

Public Types

enum  STATUS {
  ST_TOPOLOGY_MISMATCH = -10 , ST_ITERATION_COUNT_EXCEEDED , ST_COMPONENT_COUNT_MISMATCH , ST_EMPTY ,
  ST_OK = 0
}
 

Public Member Functions

 CONNECTION_GRAPH ()
 
 ~CONNECTION_GRAPH ()
 
void BuildConnectivity ()
 
void AddFootprint (FOOTPRINT *aFp, const VECTOR2I &aOffset)
 
STATUS FindIsomorphism (CONNECTION_GRAPH *target, COMPONENT_MATCHES &result)
 
std::vector< COMPONENT * > & Components ()
 

Static Public Member Functions

static std::unique_ptr< CONNECTION_GRAPHBuildFromFootprintSet (const std::set< FOOTPRINT * > &aFps)
 

Public Attributes

const int c_ITER_LIMIT = 10000
 

Private Member Functions

void sortByPinCount ()
 
std::vector< COMPONENT * > findMatchingComponents (CONNECTION_GRAPH *aRefGraph, COMPONENT *ref, BACKTRACK_STAGE &partialMatches)
 

Private Attributes

std::vector< COMPONENT * > m_components
 

Detailed Description

Definition at line 151 of file topo_match.h.

Member Enumeration Documentation

◆ STATUS

Enumerator
ST_TOPOLOGY_MISMATCH 
ST_ITERATION_COUNT_EXCEEDED 
ST_COMPONENT_COUNT_MISMATCH 
ST_EMPTY 
ST_OK 

Definition at line 156 of file topo_match.h.

Constructor & Destructor Documentation

◆ CONNECTION_GRAPH()

CONNECTION_GRAPH::CONNECTION_GRAPH ( )

Definition at line 537 of file topo_match.cpp.

◆ ~CONNECTION_GRAPH()

CONNECTION_GRAPH::~CONNECTION_GRAPH ( )

Definition at line 543 of file topo_match.cpp.

References m_components.

Member Function Documentation

◆ AddFootprint()

void CONNECTION_GRAPH::AddFootprint ( FOOTPRINT aFp,
const VECTOR2I aOffset 
)

Definition at line 503 of file topo_match.cpp.

References FOOTPRINT::GetReference(), m_components, pad, FOOTPRINT::Pads(), and pin.

◆ BuildConnectivity()

void CONNECTION_GRAPH::BuildConnectivity ( )

Definition at line 248 of file topo_match.cpp.

References alg::contains(), m_components, sortByPinCount(), and traceTopoMatch.

◆ BuildFromFootprintSet()

std::unique_ptr< CONNECTION_GRAPH > CONNECTION_GRAPH::BuildFromFootprintSet ( const std::set< FOOTPRINT * > &  aFps)
static

Definition at line 518 of file topo_match.cpp.

◆ Components()

std::vector< COMPONENT * > & TMATCH::CONNECTION_GRAPH::Components ( )
inline

Definition at line 172 of file topo_match.h.

References m_components.

Referenced by TMATCH::checkIfPadNetsMatch().

◆ FindIsomorphism()

◆ findMatchingComponents()

std::vector< COMPONENT * > CONNECTION_GRAPH::findMatchingComponents ( CONNECTION_GRAPH aRefGraph,
COMPONENT ref,
BACKTRACK_STAGE partialMatches 
)
private

◆ sortByPinCount()

void TMATCH::CONNECTION_GRAPH::sortByPinCount ( )
inlineprivate

Definition at line 175 of file topo_match.h.

References m_components.

Referenced by BuildConnectivity().

Member Data Documentation

◆ c_ITER_LIMIT

const int TMATCH::CONNECTION_GRAPH::c_ITER_LIMIT = 10000

Definition at line 154 of file topo_match.h.

Referenced by FindIsomorphism().

◆ m_components

std::vector<COMPONENT*> TMATCH::CONNECTION_GRAPH::m_components
private

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