KiCad PCB EDA Suite
Loading...
Searching...
No Matches
TMATCH Namespace Reference

Classes

class  BACKTRACK_STAGE
 
class  COMPONENT
 
class  CONNECTION_GRAPH
 
struct  ISOMORPHISM_PARAMS
 
class  PIN
 
struct  SIDE_INVENTORY
 
struct  TOPOLOGY_MISMATCH_REASON
 

Typedefs

typedef std::map< FOOTPRINT *, FOOTPRINT * > COMPONENT_MATCHES
 

Functions

std::unordered_map< int, int > buildBaseNetMapping (const BACKTRACK_STAGE &aMatches)
 
bool checkCandidateNetConsistency (const std::unordered_map< int, int > &aBaseMapping, COMPONENT *aRef, COMPONENT *aTgt, TOPOLOGY_MISMATCH_REASON &aReason, const std::unordered_set< int > &aExternalNets)
 
size_t CommonPathTailLength (const KIID_PATH &aA, const KIID_PATH &aB)
 Count the trailing elements two symbol instance paths share.
 
static SIDE_INVENTORY takeInventory (const std::vector< COMPONENT * > &aComponents)
 
static bool sameFootprintInventory (const std::vector< COMPONENT * > &aRefComponents, const std::vector< COMPONENT * > &aTargetComponents, std::vector< TOPOLOGY_MISMATCH_REASON > &aMismatchReasons)
 

Typedef Documentation

◆ COMPONENT_MATCHES

Definition at line 188 of file topo_match.h.

Function Documentation

◆ buildBaseNetMapping()

std::unordered_map< int, int > TMATCH::buildBaseNetMapping ( const BACKTRACK_STAGE & aMatches)

◆ checkCandidateNetConsistency()

bool TMATCH::checkCandidateNetConsistency ( const std::unordered_map< int, int > & aBaseMapping,
COMPONENT * aRef,
COMPONENT * aTgt,
TOPOLOGY_MISMATCH_REASON & aReason,
const std::unordered_set< int > & aExternalNets )

◆ CommonPathTailLength()

size_t TMATCH::CommonPathTailLength ( const KIID_PATH & aA,
const KIID_PATH & aB )

Count the trailing elements two symbol instance paths share.

Instances of a sheet differ only in their leading sheet UUIDs, so a footprint's counterpart in another channel shares the longest tail. The symbol UUID alone repeats once a sheet is reused inside a repeated sheet.

Returns
0 when either path is empty or ends in a nil UUID.

Definition at line 458 of file topo_match.cpp.

References niluuid.

Referenced by TMATCH::CONNECTION_GRAPH::breakTieBySymbolPath(), and matchBySymbolInstancePath().

◆ sameFootprintInventory()

static bool TMATCH::sameFootprintInventory ( const std::vector< COMPONENT * > & aRefComponents,
const std::vector< COMPONENT * > & aTargetComponents,
std::vector< TOPOLOGY_MISMATCH_REASON > & aMismatchReasons )
static

◆ takeInventory()

static SIDE_INVENTORY TMATCH::takeInventory ( const std::vector< COMPONENT * > & aComponents)
static