KiCad PCB EDA Suite
|
#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_GRAPH > | BuildFromFootprintSet (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 |
Definition at line 150 of file topo_match.h.
Enumerator | |
---|---|
ST_TOPOLOGY_MISMATCH | |
ST_ITERATION_COUNT_EXCEEDED | |
ST_COMPONENT_COUNT_MISMATCH | |
ST_EMPTY | |
ST_OK |
Definition at line 155 of file topo_match.h.
CONNECTION_GRAPH::CONNECTION_GRAPH | ( | ) |
Definition at line 539 of file topo_match.cpp.
CONNECTION_GRAPH::~CONNECTION_GRAPH | ( | ) |
Definition at line 545 of file topo_match.cpp.
References m_components.
Definition at line 505 of file topo_match.cpp.
References FOOTPRINT::GetReference(), m_components, pad, FOOTPRINT::Pads(), and pin.
void CONNECTION_GRAPH::BuildConnectivity | ( | ) |
Definition at line 248 of file topo_match.cpp.
References alg::contains(), m_components, sortByPinCount(), and traceTopoMatch.
|
static |
Definition at line 520 of file topo_match.cpp.
Referenced by BOOST_FIXTURE_TEST_CASE().
|
inline |
Definition at line 171 of file topo_match.h.
References m_components.
Referenced by TMATCH::checkIfPadNetsMatch().
CONNECTION_GRAPH::STATUS CONNECTION_GRAPH::FindIsomorphism | ( | CONNECTION_GRAPH * | target, |
COMPONENT_MATCHES & | result | ||
) |
Definition at line 291 of file topo_match.cpp.
References c_ITER_LIMIT, findMatchingComponents(), m_components, TMATCH::BACKTRACK_STAGE::m_ref, TMATCH::BACKTRACK_STAGE::m_refIndex, next(), ST_COMPONENT_COUNT_MISMATCH, ST_EMPTY, ST_ITERATION_COUNT_EXCEEDED, ST_OK, ST_TOPOLOGY_MISMATCH, and traceTopoMatch.
|
private |
Definition at line 200 of file topo_match.cpp.
References TMATCH::checkIfPadNetsMatch(), m_components, TMATCH::BACKTRACK_STAGE::m_locked, TMATCH::COMPONENT::m_reference, TMATCH::COMPONENT::MatchesWith(), and traceTopoMatch.
Referenced by FindIsomorphism().
|
inlineprivate |
Definition at line 174 of file topo_match.h.
References m_components.
Referenced by BuildConnectivity().
const int TMATCH::CONNECTION_GRAPH::c_ITER_LIMIT = 10000 |
Definition at line 153 of file topo_match.h.
Referenced by FindIsomorphism().
|
private |
Definition at line 188 of file topo_match.h.
Referenced by AddFootprint(), BuildConnectivity(), Components(), FindIsomorphism(), findMatchingComponents(), sortByPinCount(), and ~CONNECTION_GRAPH().