51 COMPONENT(
const wxString& aRef,
FOOTPRINT* aParentFp, std::optional<VECTOR2I> aRaOffset = std::optional<VECTOR2I>() );
180 return a->GetPinCount() > b->GetPinCount();
Calculate the connectivity of a schematic and generates netlists.
const std::map< COMPONENT *, COMPONENT * > & GetMatchingComponentPairs() const
std::vector< COMPONENT * > m_matches
std::map< COMPONENT *, COMPONENT * > m_locked
BACKTRACK_STAGE(const BACKTRACK_STAGE &other)
bool MatchesWith(COMPONENT *b)
bool IsSameKind(const COMPONENT &b) const
const VECTOR2I GetRAOffset() const
FOOTPRINT * m_parentFootprint
std::optional< VECTOR2I > m_raOffset
std::vector< PIN * > & Pins()
std::vector< PIN * > m_pins
FOOTPRINT * GetParent() const
STATUS FindIsomorphism(CONNECTION_GRAPH *target, COMPONENT_MATCHES &result)
std::vector< COMPONENT * > & Components()
@ ST_COMPONENT_COUNT_MISMATCH
@ ST_ITERATION_COUNT_EXCEEDED
std::vector< COMPONENT * > m_components
std::vector< COMPONENT * > findMatchingComponents(CONNECTION_GRAPH *aRefGraph, COMPONENT *ref, BACKTRACK_STAGE &partialMatches)
void AddFootprint(FOOTPRINT *aFp, const VECTOR2I &aOffset)
static std::unique_ptr< CONNECTION_GRAPH > BuildFromFootprintSet(const std::set< FOOTPRINT * > &aFps)
std::vector< PIN * > m_conns
void SetParent(COMPONENT *parent)
bool IsTopologicallySimilar(const PIN &b) const
const wxString & GetReference() const
bool IsIsomorphic(const PIN &b) const
void AddConnection(PIN *pin)
COMPONENT * GetParent() const
const wxString Format() const
std::map< FOOTPRINT *, FOOTPRINT * > COMPONENT_MATCHES