|
KiCad PCB EDA Suite
|
Value keys and the key session of the schematic connectivity engine. More...
Classes | |
| class | AUXILIARY |
| Source-keyed publication independent of electrical component identity. More... | |
| struct | BUNDLE_BINDING |
| Bound result of one bus component. More... | |
| struct | BUNDLE_CLAIM |
| One bus claim of a bundle partition, with its leaf names interned. More... | |
| struct | BUNDLE_INPUT |
| Main-thread input of BindBundle() for one bundle partition. More... | |
| struct | BUS_ALIGNMENT |
| Member correspondence between two bus schemas. More... | |
| struct | BUS_BUS_CONFLICT |
| Two bus claims on one island that share no member, or a bus vector joined to a bus group. More... | |
| struct | BUS_ENTRY_CONFLICT |
| A bus wire entry whose net is not a member of the bus it touches. More... | |
| struct | BUS_MEMBERS |
| Query-time snapshot; reacquire after Update. More... | |
| struct | BUS_NET_CONFLICT |
| An island that mixes net and bus items. More... | |
| class | BUS_PARSE_CACHE |
| Parse results for each bus text, with invalidation by alias dependency. More... | |
| struct | BUS_SCHEMA |
| The parsed form of one bus text. More... | |
| class | CACHE_TABLE |
| Versioned value table. More... | |
| class | CACHE_VERSIONS |
| One sequence for all cache tables for the lifetime of an engine session. More... | |
| struct | CHANGE_SET |
| Difference between two publications. More... | |
| struct | CHILD_SHEET_FACT |
| struct | CLAIM |
| The claim of one item for the name of its island. More... | |
| struct | CLAIM_LESS |
| Strict weak order on claims by value. More... | |
| class | COMPONENT_CACHE |
| Cache current component evaluations by exact node/version identity, within one stratum and key session. More... | |
| struct | COMPONENT_CONTENT |
| struct | DRIVER_CONFLICT |
| Two different strong names on one island. More... | |
| struct | DUPLICATE_SHEET_ERROR |
| Two child sheets of one sheet instance whose names differ only in case. More... | |
| class | ENGINE |
| Owns one key/version session and its current stage evaluations; main-thread use only. More... | |
| struct | ERC_ATOMS |
| struct | ERC_PIN |
| One active symbol pin on one sheet instance, with the reference of its symbol. More... | |
| struct | ERC_PIN_NET |
| All active pins that the publication places on one named net. More... | |
| class | FACADE |
| Model-owned source resolver. More... | |
| struct | FACADE_STATE |
| struct | FIELD_NAME_ERROR |
| A symbol or sheet field name with leading or trailing white space. More... | |
| struct | FIELD_NAME_FACT |
| struct | FLOATING_WIRE |
| Up to four wires and bus entries of one island that has no driver. More... | |
| struct | FOOTPRINT_FACT |
| struct | FOOTPRINT_SOURCE |
| The resolved footprint and the library footprint filters of one symbol on one sheet instance. More... | |
| struct | FOUR_WAY_JUNCTION |
| Four or more contacts at one position. More... | |
| struct | FRAME_INSTANCE |
| One entry of the captured hierarchy. More... | |
| struct | GROUND_PIN_ERROR |
| A power pin with a ground name that is not on a ground net, on a symbol with another pin on a ground net. More... | |
| struct | HIERARCHY_ERROR |
| A hierarchical label or sheet pin with no partner, or a dangling sheet pin. More... | |
| class | INPUT_STORE |
| Main-thread extraction cache. More... | |
| class | INPUT_TEXT_SCOPE |
| Excludes derived graph text and shares dynamic source values through nested resolvers. More... | |
| struct | INSTANCE_CLAIMS |
| struct | INSTANCE_FACTS |
| The text and unit data that one sheet instance resolves for the items of its screen. More... | |
| struct | INSTANCE_RULE_AREA_FACT |
| struct | INSTANCE_SCOPE |
| The hierarchy position of one sheet instance. More... | |
| struct | ISLAND |
| The smallest set of items on one screen that the drawing connects. More... | |
| struct | ISLAND_AUX |
| struct | ISLAND_RECORD |
| struct | ITEM_FACT |
| A value copy of one connectable item, or of one group of pins that share a number and a position. More... | |
| struct | ITEM_GEOMETRY |
| struct | ITEM_KEY |
| One item or pin in one sheet instance. More... | |
| struct | ITEM_RESULT |
| Published connection of one item on one sheet instance. More... | |
| struct | ITEM_TEXT_FACT |
| class | ITEM_VIEW |
| struct | KEY_LESS |
| Orders keys by value through SESSION_KEYS::Less(). More... | |
| struct | LABEL_CONNECTION_ERROR |
| A label that connects to nothing, or to only one pin. More... | |
| struct | LABEL_WIRE_CONFLICT |
| A label that sits on the interior of two or more wires. More... | |
| struct | LIBRARY_FIELD_FACT |
| struct | LIBRARY_SHAPE_FACT |
| struct | LIBRARY_SYMBOL_FACT |
| struct | MULTI_UNIT_CONFLICT |
| A pin number of one multi-unit symbol that different units connect to different nets. More... | |
| struct | MULTI_UNIT_FACT |
| struct | MULTI_UNIT_GROUP |
| All placed units that share one reference, with the unit table of the library symbol. More... | |
| struct | MULTI_UNIT_INSTANCE |
| One placed unit of an annotated multi-unit symbol. More... | |
| struct | MULTI_UNIT_REFERENCE |
| struct | NAME_KEY |
| The graph node of one name in one scope. More... | |
| struct | NAME_LESS |
| Orders name handles by UTF-8 value. More... | |
| struct | NAMED_ITEM |
| A label or a power pin with its resolved net name. More... | |
| class | NAVIGATION_QUERY |
| One UI operation's hierarchy index. More... | |
| struct | NET_GROUP |
| class | NET_VIEW |
| struct | NETCHAIN_INPUT |
| Immediate-use netchain input; shared-screen items are qualified by their instance. More... | |
| class | NETCHAIN_MANAGER |
| Persistent chain configuration and the derived chains for one schematic. More... | |
| struct | NETCLASS_DELTA |
| Difference between the previous and the current net name to netclass map. More... | |
| struct | NETCLASS_REFERENCE |
| struct | NO_CONNECT_FLAG_ERROR |
| A no-connect flag on a net with more than one pin, or on a net with no pin and no label. More... | |
| struct | NO_CONNECT_PIN_CONFLICT |
| Pins of type no-connect that touch other items at one position. More... | |
| struct | NODE_INPUT |
| struct | OFF_GRID_ENDPOINT |
| A wire end, a bus entry end or a symbol pin that is not on the connection grid. More... | |
| struct | PARTITION |
| Exact identity of one connected component. More... | |
| class | PARTITIONER |
| Fresh connectivity for one stratum. More... | |
| struct | PIN_FACT |
| struct | PIN_GEOMETRY |
| struct | PIN_MAP_CANDIDATE_FACT |
| struct | PIN_MAP_FACT |
| struct | PIN_NAME_FACT |
| struct | PIN_NAME_REFERENCE |
| struct | PORT_FACT |
| One connection point of an item. More... | |
| class | PUBLICATION |
| Main-thread publication. More... | |
| class | PUBLICATION_HOLD |
| Keep the last publication readable while a batch stages edits before its single commit. More... | |
| struct | PUBLISHED_COMPONENT |
| One published net or bus with its identity. More... | |
| struct | RECORD_GEOMETRY |
| Physical inputs to the island record fold. More... | |
| struct | RECORD_KEY |
| One island in one sheet instance. More... | |
| struct | RECORD_NODE |
| The graph node of one island record. More... | |
| class | RECORD_STORE |
| Main-thread island record preparation and cache writes. More... | |
| class | RENDER_SCOPE |
| Marks the canvas reads of this thread, which are item drawing and view bounds. More... | |
| struct | RULE_AREA_FACT |
| struct | RULE_AREA_RESULT |
| struct | SCREEN_FACTS |
| The value copy of one screen. More... | |
| struct | SCREEN_GEOMETRY |
| struct | SCREEN_ISLANDS |
| The islands of one screen and unit signature, sorted by anchor. More... | |
| class | SESSION_KEYS |
| Session IDs are dense handles, never a canonical ordering. More... | |
| struct | SHEET_POSITION_LESS |
| struct | SIGNAL_RESULT |
| Derived state of one net before publication. More... | |
| struct | SIMULATION_MODEL_FACT |
| struct | SLOT_INPUT |
| One bus member as a node of the signal stratum. More... | |
| struct | SLOT_KEY |
| One member position of a bus. More... | |
| class | SLOT_STORE |
| Reconciles current bundles with persistent, exact-value slot versions. More... | |
| struct | SOURCE_CLAIMS |
| struct | SOURCE_LOCATION |
| One item on one sheet instance, for a diagnostic that needs only a location. More... | |
| class | SUBSCRIPTION |
| Main-thread registration owner. More... | |
| struct | SUMMARY |
| Fold state of one net. More... | |
| class | TASK_GROUP |
| struct | TEXT_ASSERTION |
| struct | TEXT_CHECK_FACT |
| struct | UNIT_FACT |
| struct | UNMAPPED_PIN_CANDIDATE |
| A pin with a footprint that is not dangling, or that ignores dangling state. More... | |
| struct | VARIANT_SYMBOL_FACT |
| struct | WIRE_ENDPOINT |
| One dangling end of a wire or a bus wire entry. More... | |
Typedefs | |
| using | BUS_ALIASES = std::map<wxString, std::vector<wxString>> |
| Bus alias table, from alias name to member texts. | |
| using | UNCONNECTED_PIN = SOURCE_LOCATION |
| using | LABEL_LOCATION = SOURCE_LOCATION |
| using | LIBRARY_SYMBOL_FACTS = std::vector<LIBRARY_SYMBOL_FACT> |
| using | INST_ID = uint32_t |
| Session handle of a sheet instance KIID_PATH. | |
| using | NAME_ID = uint32_t |
| Session handle of a name, ordered by UTF-8 value through NAME_LESS. | |
| using | NODE_ID = uint32_t |
| Session handle of a NODE_KEY graph node. | |
| using | SCREEN_ID = uint64_t |
| Process-local SCH_SCREEN::ConnectivityId(), never a file UUID. | |
| using | NODE_KEY = std::variant<RECORD_NODE, NAME_KEY, SLOT_KEY> |
| Any node of the union-find graph. | |
| using | NET_ITEMS_BY_SHEET = std::map<SCH_SHEET_PATH, std::vector<SCH_ITEM*>, SHEET_PATH_CMP> |
| using | PREVIEW_NET_CODES = std::unordered_map<const SCH_ITEM*, std::optional<int>> |
| using | TEXT_ENVIRONMENT = TEXT_EVAL::ENVIRONMENT |
Enumerations | |
| enum class | PRIORITY : uint8_t { NONE , PIN , SHEET_PIN , HIER_LABEL , LOCAL_LABEL , LOCAL_POWER_PIN , BUS_MEMBER , GLOBAL_POWER_PIN , GLOBAL } |
| Driver priority of a claim, from low to high. More... | |
| enum class | PORT_KIND { ANCHOR , WIRE , BUS , ENTRY , ENTRY_BUS } |
| enum class | KIND : uint8_t { SIGNAL , BUNDLE } |
| The electrical type of a record or component. More... | |
| enum class | SCOPE : uint8_t { SHEET , GLOBAL , PORT } |
| The namespace in which a NAME_KEY joins records. More... | |
Functions | |
| BUNDLE_INPUT | PrepareBundle (const PARTITION &aPartition, const RECORD_STORE::RECORD_CACHE &aRecords, SESSION_KEYS &aKeys) |
| Collect the bus claims of a bundle partition and intern their leaf names on the main thread. | |
| BUNDLE_BINDING | BindBundle (const BUNDLE_INPUT &aInput, const SESSION_KEYS &aKeys) |
| Align the prepared claims to the canonical claim and make the member slots. | |
| std::vector< NODE_INPUT > | SignalNodes (const RECORD_STORE::RECORD_CACHE &aRecords, const SLOT_STORE::SLOT_CACHE &aSlots, SESSION_KEYS &aKeys) |
| Main-thread interning of current signal records and slots for the signal fold. | |
| BUS_ALIGNMENT | Align (const BUS_SCHEMA &aLeft, const BUS_SCHEMA &aRight) |
| Match the leaves of aLeft to the leaves of aRight. | |
| INSTANCE_CLAIMS | PrepareInstanceClaims (const SCREEN_FACTS &aFacts, const INSTANCE_FACTS &aText, const INSTANCE_SCOPE &aScope, SESSION_KEYS &aKeys, BUS_PARSE_CACHE &aParses) |
| Main-thread interning and parse preparation, followed by a pure per-island fold. | |
| ISLAND_RECORD | BuildIslandRecord (const RECORD_GEOMETRY &aIsland, const INSTANCE_CLAIMS &aInputs, const SESSION_KEYS &aKeys) |
| std::vector< NODE_INPUT > | RecordNodes (const RECORD_STORE::RECORD_CACHE &aRecords, KIND aKind, SESSION_KEYS &aKeys) |
| Main-thread node interning for one record stratum. | |
| std::string | Dump (SCHEMATIC &aSchematic) |
| Canonical, pointer-free connectivity rows for migration and rebuild comparisons. | |
| std::string | Dump (SCHEMATIC &aSchematic, const FACADE &aFacade) |
| Same row format from a current facade publication, with isolated netclass resolution. | |
| LIBRARY_FIELD_FACT | ExtractLibraryFieldFact (const SCH_FIELD &aField) |
| std::vector< SIMULATION_MODEL_FACT > | ExtractSimulationModelFacts (const SCH_SHEET_PATH &aPath, const wxString &aVariantName) |
| std::optional< VARIANT_SYMBOL_FACT > | ExtractVariantSymbolFact (const SCH_SYMBOL &aSymbol, const SCH_SHEET_PATH &aPath) |
| LIBRARY_SYMBOL_FACT | ExtractLibrarySymbolFact (const LIB_SYMBOL &aSymbol) |
| SCREEN_FACTS | ExtractScreenFacts (const SCH_SCREEN &aScreen, std::shared_ptr< const LIBRARY_SYMBOL_FACTS > aLibrarySymbols={}, const SCREEN_FACTS *aUnchangedNonLines=nullptr) |
| Main-thread snapshots; no derived connectivity or model pointers survive extraction. | |
| std::vector< TEXT_ASSERTION > | ExtractTextAssertions (const wxString &aText) |
| std::vector< TEXT_CHECK_FACT > | ExtractDrawingSheetTextChecks (const SCH_SCREEN &aScreen, const SCH_SHEET_PATH &aPath) |
| std::vector< TEXT_CHECK_FACT > | ExtractTextChecks (const SCH_SCREEN &aScreen, const SCH_SHEET_PATH &aPath) |
| std::optional< PIN_MAP_FACT > | ExtractPinMapFacts (const SCH_SYMBOL &aSymbol) |
| std::vector< UNIT_FACT > | ExtractUnitFacts (const LIB_SYMBOL &aSymbol) |
| INSTANCE_FACTS | ExtractInstanceFacts (const SCREEN_FACTS &aFacts, const SCH_SCREEN &aScreen, const SCH_SHEET_PATH &aPath) |
| std::vector< FRAME_INSTANCE > | CaptureHierarchy (const SCH_SHEET_LIST &aPaths, SESSION_KEYS &aKeys) |
| Interns every sheet instance and returns the frame in KIID_PATH order, so each parent precedes its children. | |
| SCREEN_GEOMETRY | GeometryOf (const SCREEN_FACTS &aFacts) |
| SCREEN_ISLANDS | BuildScreenIslands (const SCREEN_GEOMETRY &aGeometry, const std::vector< std::pair< KIID, int > > &aUnits) |
| Kindless geometry for one unit signature. | |
| wxString | RenderPinNetName (const PIN_NAME_FACT &aPin, const PIN_NAME_REFERENCE &aReference, bool aForceNoConnect=false) |
| Render a non-power pin name from unescaped values; an absent reference uses the symbol UUID. | |
| std::optional< wxString > | AppendConnectionInfo (const SCH_ITEM &aItem, std::vector< MSG_PANEL_ITEM > &aList, const SCH_SHEET_PATH *aPath=nullptr) |
| Append connection details; return its name for a signal, or no value for a bus/missing row. | |
| PREVIEW_NET_CODES | CapturePreviewNetCodes (const FACADE &aFacade, const SCH_SHEET_PATH &aPath) |
| Owned local net assignments for advisory drag feedback; unavailable rows remain unknown. | |
| wxString | ApplyNameSuffix (const wxString &aName, const BUS_SCHEMA *aSchema, uint32_t aSuffix) |
| Add "_N" to aName. | |
| SIGNAL_RESULT | DeriveSignal (const PARTITION &aPartition, const RECORD_STORE::RECORD_CACHE &aRecords, const SLOT_STORE::SLOT_CACHE &aSlots, const SESSION_KEYS &aKeys) |
| Fold current signal inputs and retain canonical membership for publication and succession. | |
| SUMMARY | MakeSummary (const RECORD_KEY &aKey, const ISLAND_RECORD &aRecord) |
| Consumes a canonical BuildIslandRecord() result. | |
| template<typename FUNCTION> | |
| void | ParallelFor (size_t aCount, FUNCTION &&aFunction, thread_pool &aPool=GetKiCadThreadPool()) |
| Independent ordinal writes only; preparation and cache commits stay on the caller thread. | |
Variables | |
| constexpr uint32_t | INVALID_ID = std::numeric_limits<uint32_t>::max() |
| Marks an unset handle. | |
Value keys and the key session of the schematic connectivity engine.
| using SCH_CONNECTIVITY::BUS_ALIASES = std::map<wxString, std::vector<wxString>> |
Bus alias table, from alias name to member texts.
Normalize names and resolve duplicate definitions in file order before constructing this table.
Definition at line 40 of file conn_bus.h.
| using SCH_CONNECTIVITY::INST_ID = uint32_t |
Session handle of a sheet instance KIID_PATH.
Definition at line 41 of file conn_keys.h.
Definition at line 140 of file conn_engine.h.
| using SCH_CONNECTIVITY::LIBRARY_SYMBOL_FACTS = std::vector<LIBRARY_SYMBOL_FACT> |
Definition at line 243 of file conn_facts.h.
| using SCH_CONNECTIVITY::NAME_ID = uint32_t |
Session handle of a name, ordered by UTF-8 value through NAME_LESS.
Definition at line 42 of file conn_keys.h.
| using SCH_CONNECTIVITY::NET_ITEMS_BY_SHEET = std::map<SCH_SHEET_PATH, std::vector<SCH_ITEM*>, SHEET_PATH_CMP> |
Definition at line 35 of file conn_navigation.h.
| using SCH_CONNECTIVITY::NODE_ID = uint32_t |
Session handle of a NODE_KEY graph node.
Definition at line 43 of file conn_keys.h.
| using SCH_CONNECTIVITY::NODE_KEY = std::variant<RECORD_NODE, NAME_KEY, SLOT_KEY> |
Any node of the union-find graph.
Values sort first by variant index, so record nodes come first.
Definition at line 136 of file conn_keys.h.
| using SCH_CONNECTIVITY::PREVIEW_NET_CODES = std::unordered_map<const SCH_ITEM*, std::optional<int>> |
Definition at line 32 of file conn_preview.h.
| using SCH_CONNECTIVITY::SCREEN_ID = uint64_t |
Process-local SCH_SCREEN::ConnectivityId(), never a file UUID.
Definition at line 44 of file conn_keys.h.
Definition at line 27 of file conn_text.h.
Definition at line 139 of file conn_engine.h.
|
strong |
The electrical type of a record or component.
| Enumerator | |
|---|---|
| SIGNAL | A net. |
| BUNDLE | A bus. |
Definition at line 54 of file conn_keys.h.
|
strong |
| Enumerator | |
|---|---|
| ANCHOR | |
| WIRE | |
| BUS | |
| ENTRY | |
| ENTRY_BUS | |
Definition at line 53 of file conn_facts.h.
|
strong |
Driver priority of a claim, from low to high.
A higher value always names the net.
| Enumerator | |
|---|---|
| NONE | The item makes no claim. |
| PIN | Symbol pin that is not a power input. The name is "Net-(...)". |
| SHEET_PIN | Sheet pin. The name belongs to the child instance. |
| HIER_LABEL | Hierarchical label. The first strong priority. |
| LOCAL_LABEL | Local label. |
| LOCAL_POWER_PIN | Power input pin of a local power symbol. |
| BUS_MEMBER | Synthetic claim of a bus member slot, set by BindBundle(). |
| GLOBAL_POWER_PIN | Power input pin of a global power symbol, or a hidden power input pin. |
| GLOBAL | Global label. |
Definition at line 36 of file conn_claims.h.
|
strong |
The namespace in which a NAME_KEY joins records.
| Enumerator | |
|---|---|
| SHEET | Joins names in one instance only. |
| GLOBAL | Joins names in all instances. |
| PORT | Joins a sheet pin to the hierarchical labels of its child instance, for one kind. |
Definition at line 63 of file conn_keys.h.
| SCH_CONNECTIVITY::BUS_ALIGNMENT SCH_CONNECTIVITY::Align | ( | const BUS_SCHEMA & | aLeft, |
| const BUS_SCHEMA & | aRight ) |
Match the leaves of aLeft to the leaves of aRight.
Two groups match by group path and local name, and equal duplicates match in declaration order. All other shape pairs match by ordinal. Right leaves without a partner are not reported.
Definition at line 282 of file conn_bus.cpp.
References candidates(), SCH_CONNECTIVITY::BUS_SCHEMA::GROUP, SCH_CONNECTIVITY::BUS_SCHEMA::leaves, left, result, right, and SCH_CONNECTIVITY::BUS_SCHEMA::shape.
Referenced by BindBundle(), and SCH_CONNECTIVITY::FACADE_STATE::Members().
| std::optional< wxString > SCH_CONNECTIVITY::AppendConnectionInfo | ( | const SCH_ITEM & | aItem, |
| std::vector< MSG_PANEL_ITEM > & | aList, | ||
| const SCH_SHEET_PATH * | aPath = nullptr ) |
Append connection details; return its name for a signal, or no value for a bus/missing row.
Definition at line 35 of file conn_presentation.cpp.
References _, SCH_CONNECTION::AppendInfoToMsgPanel(), SCH_CONNECTIVITY::FACADE::Connection(), SCH_ITEM::Connection(), SCHEMATIC::Connectivity(), SCHEMATIC::CurrentSheet(), SCHEMATIC::GetBusAlias(), ADVANCED_CFG::GetCfg(), SCH_ITEM::GetEffectiveNetClass(), NETCLASS::GetHumanReadableName(), group, SCH_CONNECTION::IsBus(), SCHEMATIC::IsValid(), EDA_ITEM::m_Uuid, MM, SCH_CONNECTION::Name(), name, NET_SETTINGS::ParseBusGroup(), path, SCH_ITEM::Schematic(), schIUScale, and UnescapeString().
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_JUNCTION::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), and SCH_LINE::GetMsgPanelInfo().
| wxString SCH_CONNECTIVITY::ApplyNameSuffix | ( | const wxString & | aName, |
| const BUS_SCHEMA * | aSchema, | ||
| uint32_t | aSuffix ) |
Add "_N" to aName.
A group bus with a prefix gets the suffix after the prefix, all other names at the end. A zero suffix returns aName. If aSchema is provided, aName must be the exact text it was parsed from.
Definition at line 32 of file conn_publish.cpp.
References SCH_CONNECTIVITY::BUS_SCHEMA::GROUP, SCH_CONNECTIVITY::BUS_SCHEMA::prefix, SCH_CONNECTIVITY::BUS_SCHEMA::prefixEnd, result, and SCH_CONNECTIVITY::BUS_SCHEMA::shape.
Referenced by BOOST_AUTO_TEST_CASE(), and SCH_CONNECTIVITY::PUBLICATION::PrepareRows().
| BUNDLE_BINDING SCH_CONNECTIVITY::BindBundle | ( | const BUNDLE_INPUT & | aInput, |
| const SESSION_KEYS & | aKeys ) |
Align the prepared claims to the canonical claim and make the member slots.
This function is pure, so the engine runs it on worker threads.
Definition at line 101 of file conn_bindings.cpp.
References Align(), BUS_MEMBER, SCH_CONNECTIVITY::BUNDLE_CLAIM::claim, SCH_CONNECTIVITY::SLOT_INPUT::claim, SCH_CONNECTIVITY::BUNDLE_INPUT::claims, SCH_CONNECTIVITY::CLAIM::depth, SCH_CONNECTIVITY::SLOT_INPUT::edges, SCH_CONNECTIVITY::BUNDLE_CLAIM::LEAF_NAME::fullName, SCH_CONNECTIVITY::CLAIM::fullName, HIER_LABEL, SCH_CONNECTIVITY::RECORD_KEY::inst, INVALID_ID, SCH_CONNECTIVITY::BUNDLE_INPUT::items, SCH_CONNECTIVITY::SLOT_INPUT::key, SCH_CONNECTIVITY::BUNDLE_CLAIM::leaves, SCH_CONNECTIVITY::BUNDLE_CLAIM::LEAF_NAME::localName, SCH_CONNECTIVITY::SLOT_INPUT::localName, SCH_CONNECTIVITY::BUS_ALIGNMENT::matched, SCH_CONNECTIVITY::BUNDLE_CLAIM::LEAF_NAME::name, SCH_CONNECTIVITY::CLAIM::name, SCH_CONNECTIVITY::CLAIM::ncName, SCH_CONNECTIVITY::BUNDLE_INPUT::netclasses, SCH_CONNECTIVITY::BUNDLE_INPUT::parent, SCH_CONNECTIVITY::SLOT_INPUT::parentBundle, SCH_CONNECTIVITY::SLOT_INPUT::parentEdges, SCH_CONNECTIVITY::SLOT_INPUT::parentNetclasses, SCH_CONNECTIVITY::CLAIM::path, SCH_CONNECTIVITY::CLAIM::priority, SCH_CONNECTIVITY::BUNDLE_CLAIM::record, result, SCH_CONNECTIVITY::CLAIM::schema, SHEET_PIN, SCH_CONNECTIVITY::CLAIM::source, source, and SCH_CONNECTIVITY::BUS_ALIGNMENT::unmappedLeft.
| ISLAND_RECORD SCH_CONNECTIVITY::BuildIslandRecord | ( | const RECORD_GEOMETRY & | aIsland, |
| const INSTANCE_CLAIMS & | aInputs, | ||
| const SESSION_KEYS & | aKeys ) |
Definition at line 181 of file conn_claims.cpp.
References BUNDLE, SCH_CONNECTIVITY::SOURCE_CLAIMS::claim, GLOBAL, GLOBAL_POWER_PIN, SCH_CONNECTIVITY::BUS_SCHEMA::GROUP, SCH_CONNECTIVITY::RECORD_GEOMETRY::hasBusLine, SCH_CONNECTIVITY::RECORD_GEOMETRY::hasWire, HIER_LABEL, SCH_CONNECTIVITY::INSTANCE_CLAIMS::instance, SCH_CONNECTIVITY::SOURCE_CLAIMS::invisiblePower, SCH_CONNECTIVITY::ITEM_KEY::item, SCH_CONNECTIVITY::INSTANCE_CLAIMS::items, SCH_CONNECTIVITY::RECORD_GEOMETRY::items, LOCAL_LABEL, LOCAL_POWER_PIN, SCH_CONNECTIVITY::CLAIM::name, SCH_CONNECTIVITY::SOURCE_CLAIMS::netclasses, SCH_CONNECTIVITY::SOURCE_CLAIMS::pinGroup, SCH_CONNECTIVITY::SOURCE_CLAIMS::pinWitness, SCH_CONNECTIVITY::CLAIM::priority, result, SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_LABEL_T, SCH_NO_CONNECT_T, SCH_PIN_T, SCH_SHEET_PIN_T, SHEET_PIN, SIGNAL, SCH_CONNECTIVITY::CLAIM::source, SCH_CONNECTIVITY::SOURCE_CLAIMS::type, and SCH_CONNECTIVITY::BUS_SCHEMA::VECTOR.
| SCREEN_ISLANDS SCH_CONNECTIVITY::BuildScreenIslands | ( | const SCREEN_GEOMETRY & | aGeometry, |
| const std::vector< std::pair< KIID, int > > & | aUnits ) |
Kindless geometry for one unit signature.
Vertices retain fact keys; items retain active original keys, including every member of grouped pins. Bus-line evidence includes bus-to-bus entries. Unit zero selects every unit. Dangling bits follow port order (start = 1, end = 2); pin members each have their own single-port state. Adjacency and NC pairs are undirected and ordered; bus links are (entry, bus item).
Definition at line 192 of file conn_islands.cpp.
References SEG::A, KIRTREE::PACKED_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, FANOUT >::Builder::Add(), SCH_CONNECTIVITY::ISLAND::adjacency, ANCHOR, SCH_CONNECTIVITY::ISLAND::anchor, SCH_CONNECTIVITY::SCREEN_GEOMETRY::attachedDirectives, SEG::B, KIRTREE::PACKED_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, FANOUT >::Builder::Build(), BUS, SCH_CONNECTIVITY::ISLAND::busEntryLinks, SCH_CONNECTIVITY::ISLAND::dangling, end, ENTRY_BUS, KI_UNION_FIND::FindCompress(), SCH_CONNECTIVITY::ISLAND::hasBusLine, SCH_CONNECTIVITY::ISLAND::hasWire, SCH_CONNECTIVITY::ITEM_GEOMETRY::id, index, SCH_CONNECTIVITY::ISLAND::items, SCH_CONNECTIVITY::SCREEN_GEOMETRY::items, SCH_CONNECTIVITY::ITEM_GEOMETRY::jumperedWith, NC, SCH_CONNECTIVITY::ISLAND::ncContacts, SCH_CONNECTIVITY::ITEM_GEOMETRY::owner, pin, SCH_CONNECTIVITY::ITEM_GEOMETRY::pins, SCH_CONNECTIVITY::ITEM_GEOMETRY::ports, PT_NC, PT_NIC, result, SCH_BUS_BUS_ENTRY_T, SCH_BUS_WIRE_ENTRY_T, SCH_JUNCTION_T, SCH_NO_CONNECT_T, SCH_PIN_T, SCH_CONNECTIVITY::ITEM_GEOMETRY::segment, SCH_CONNECTIVITY::ITEM_GEOMETRY::type, KI_UNION_FIND::Unite(), SCH_CONNECTIVITY::ISLAND::vertices, WIRE, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SCH_CONNECTIVITY::INPUT_STORE::Islands().
| std::vector< FRAME_INSTANCE > SCH_CONNECTIVITY::CaptureHierarchy | ( | const SCH_SHEET_LIST & | aPaths, |
| SESSION_KEYS & | aKeys ) |
Interns every sheet instance and returns the frame in KIID_PATH order, so each parent precedes its children.
Definition at line 30 of file conn_frame.cpp.
References SCH_CONNECTIVITY::INSTANCE_SCOPE::depth, index, SCH_CONNECTIVITY::INSTANCE_SCOPE::instance, SCH_CONNECTIVITY::SESSION_KEYS::InternInstance(), path, SCH_CONNECTIVITY::INSTANCE_SCOPE::path, and result.
Referenced by SCH_CONNECTIVITY::INPUT_STORE::Capture().
| PREVIEW_NET_CODES SCH_CONNECTIVITY::CapturePreviewNetCodes | ( | const FACADE & | aFacade, |
| const SCH_SHEET_PATH & | aPath ) |
Owned local net assignments for advisory drag feedback; unavailable rows remain unknown.
Call before the drag stages its first edit, because staging hides the screen's published rows.
Definition at line 28 of file conn_preview.cpp.
References SCH_CONNECTIVITY::FACADE::Connection(), SCH_SCREEN::Items(), SCH_SHEET_PATH::LastScreen(), NO_RECURSE, path, SCH_SHEET_PATH::PathRef(), result, and EE_RTREE::size().
Referenced by SCH_DRAG_NET_COLLISION_MONITOR::Initialize().
| SIGNAL_RESULT SCH_CONNECTIVITY::DeriveSignal | ( | const PARTITION & | aPartition, |
| const RECORD_STORE::RECORD_CACHE & | aRecords, | ||
| const SLOT_STORE::SLOT_CACHE & | aSlots, | ||
| const SESSION_KEYS & | aKeys ) |
Fold current signal inputs and retain canonical membership for publication and succession.
Definition at line 43 of file conn_signals.cpp.
References SCH_CONNECTIVITY::SUMMARY::best, SCH_CONNECTIVITY::CACHE_TABLE< KEY, VALUE, LESS >::Find(), SCH_CONNECTIVITY::PARTITION::identity, SCH_CONNECTIVITY::SUMMARY::Join(), SCH_CONNECTIVITY::SESSION_KEYS::Less(), MakeSummary(), SCH_CONNECTIVITY::SESSION_KEYS::Node(), result, SIGNAL, and source.
| std::string SCH_CONNECTIVITY::Dump | ( | SCHEMATIC & | aSchematic | ) |
Canonical, pointer-free connectivity rows for migration and rebuild comparisons.
Session-local net and subgraph codes are deliberately omitted. The legacy <NO NET> placeholder, including its sheet prefix, is normalized only for driverless connections.
Definition at line 200 of file conn_dump.cpp.
References SCH_ITEM::ConnectedItems(), PROJECT::GetProjectFile(), SCHEMATIC::Hierarchy(), SCHEMATIC::IsValid(), JSON, PROJECT_FILE::NetSettings(), path, pin, SCHEMATIC::Project(), SCH_SHEET_T, and SCH_SYMBOL_T.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_DATA_TEST_CASE_F(), and BOOST_DATA_TEST_CASE_F().
Same row format from a current facade publication, with isolated netclass resolution.
Definition at line 263 of file conn_dump.cpp.
References SCH_CONNECTIVITY::FACADE::ApplyNetclasses(), KIID::AsString(), SCHEMATIC::BuildSheetListSortedByPageNumbers(), SCH_CONNECTIVITY::FACADE::Connection(), SCH_ITEM::GetLayer(), PROJECT::GetProjectFile(), SCHEMATIC::IsValid(), JSON, SCH_CONNECTIVITY::FACADE::Keys(), LAYER_BUS, name, NET, PROJECT_FILE::NetSettings(), NONE, path, SCHEMATIC::Project(), SCH_CONNECTIVITY::FACADE::Published(), result, SCH_BUS_WIRE_ENTRY_T, SCH_LINE_T, SCH_PIN_T, SIGNAL, source, and EDA_ITEM::Type().
| std::vector< TEXT_CHECK_FACT > SCH_CONNECTIVITY::ExtractDrawingSheetTextChecks | ( | const SCH_SCREEN & | aScreen, |
| const SCH_SHEET_PATH & | aPath ) |
Definition at line 837 of file conn_facts.cpp.
References DS_DRAW_ITEM_LIST::BuildDrawItemsList(), ExtractTextAssertions(), FOR_ERC_DRC, SCH_SCREEN::GetFileName(), DS_DRAW_ITEM_LIST::GetFirst(), SCH_SHEET::GetName(), DS_DRAW_ITEM_LIST::GetNext(), SCH_SHEET_PATH::GetPageNumber(), SCH_SCREEN::GetPageSettings(), SCH_SCREEN::GetTitleBlock(), SCH_SHEET_PATH::GetVirtualPageNumber(), SCHEMATIC::IsValid(), SCH_SHEET_PATH::Last(), niluuid, SCH_SHEET_PATH::PathHumanReadable(), result, SCH_SCREEN::Schematic(), schIUScale, DS_DRAW_ITEM_LIST::SetFileName(), DS_DRAW_ITEM_LIST::SetIsFirstPage(), DS_DRAW_ITEM_LIST::SetPageNumber(), DS_DRAW_ITEM_LIST::SetProject(), DS_DRAW_ITEM_LIST::SetSheetCount(), DS_DRAW_ITEM_LIST::SetSheetLayer(), DS_DRAW_ITEM_LIST::SetSheetName(), DS_DRAW_ITEM_LIST::SetSheetPath(), DS_DRAW_ITEM_LIST::SetVariantDesc(), DS_DRAW_ITEM_LIST::SetVariantName(), and text.
Referenced by SCH_CONNECTIVITY::FACADE::PrepareTextChecks().
| INSTANCE_FACTS SCH_CONNECTIVITY::ExtractInstanceFacts | ( | const SCREEN_FACTS & | aFacts, |
| const SCH_SCREEN & | aScreen, | ||
| const SCH_SHEET_PATH & | aPath ) |
Definition at line 1053 of file conn_facts.cpp.
References SCH_CONNECTIVITY::INSTANCE_RULE_AREA_FACT::attachedDirectives, SCH_CONNECTIVITY::RULE_AREA_FACT::attachedDirectives, SCH_CONNECTIVITY::PIN_FACT::canDrive, SHAPE_POLY_SET::Collide(), SCH_CONNECTIVITY::INSTANCE_RULE_AREA_FACT::containedItems, SCH_CONNECTIVITY::RULE_AREA_FACT::containedItems, CTX_NETNAME, SCH_SYMBOL::DoNetList(), EscapeString(), ExtractVariantSymbolFact(), SCH_CONNECTIVITY::SCREEN_FACTS::footprints, FOR_NETNAME, SCH_SHEET::GetBodyBoundingBox(), SCH_ITEM::GetBodyStyle(), SCH_SCREEN::GetConnectivityItem(), SCHEMATIC::GetCurrentVariant(), LIB_SYMBOL::GetDummy(), SCH_SYMBOL::GetEffectiveLibSymbol(), SCH_SYMBOL::GetExcludedFromBoard(), SCH_LABEL_BASE::GetFields(), SCH_SHEET::GetFields(), SCH_SYMBOL::GetFields(), SCH_PIN::GetNumber(), EDA_ITEM::GetPosition(), SCH_SYMBOL::GetPosition(), SCH_PIN::GetShownName(), SCH_PIN::GetShownNumber(), SCH_LABEL_BASE::GetShownText(), SCH_PIN::GetSmallestStackedPadNumber(), SYMBOL::GetTransform(), SCH_SYMBOL::GetUnitSelection(), SCH_SYMBOL::GetValue(), SCH_SHEET_PATH::GetVirtualPageNumber(), SCH_CONNECTIVITY::PIN_FACT::globalPower, SCH_CONNECTIVITY::PIN_FACT::globalPowerParent, SCH_CONNECTIVITY::FOOTPRINT_FACT::id, SCH_CONNECTIVITY::INSTANCE_RULE_AREA_FACT::id, SCH_CONNECTIVITY::PIN_FACT::id, SCH_CONNECTIVITY::RULE_AREA_FACT::id, SCHEMATIC::IsValid(), SCH_SCREEN::Items(), SCH_CONNECTIVITY::SCREEN_FACTS::items, SCH_SHEET_PATH::LastScreen(), library, SCH_CONNECTIVITY::PIN_FACT::localPower, SCH_CONNECTIVITY::PIN_FACT::localPowerParent, SCH_SYMBOL_INSTANCE::m_Reference, EDA_ITEM::m_Uuid, BOX2< Vec >::Merge(), SCH_CONNECTIVITY::SCREEN_FACTS::multiUnits, name, SCH_CONNECTIVITY::INSTANCE_RULE_AREA_FACT::netclasses, SCH_CONNECTIVITY::SCREEN_FACTS::netclassOwners, NO_RECURSE, BOX2< Vec >::Normalize(), BOX2< Vec >::Offset(), EE_RTREE::OfType(), LIB_ID::Parse(), SCH_SHEET_PATH::Path(), path, SCH_SHEET_PATH::PathRef(), pin, SCH_CONNECTIVITY::SCREEN_FACTS::pinMaps, SCH_CONNECTIVITY::RULE_AREA_FACT::polygon, PT_NC, PT_NIC, SCH_CONNECTIVITY::PIN_NAME_REFERENCE::reference, RenderPinNetName(), RESOLVED, result, SCH_CONNECTIVITY::SCREEN_FACTS::ruleAreas, SCH_ITEM::RunOnChildren(), SCH_DIRECTIVE_LABEL_T, SCH_FIELD_T, SCH_PIN_T, SCH_SHEET_PIN_T, SCH_SHEET_T, SCH_SYMBOL_T, SCH_SCREEN::Schematic(), SHEET_NAME, source, text, TRANSFORM::TransformCoordinate(), EDA_ITEM::Type(), SCH_CONNECTIVITY::PIN_FACT::type, and SCH_CONNECTIVITY::PIN_FACT::unit.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and SCH_CONNECTIVITY::INPUT_STORE::Instance().
| LIBRARY_FIELD_FACT SCH_CONNECTIVITY::ExtractLibraryFieldFact | ( | const SCH_FIELD & | aField | ) |
Definition at line 105 of file conn_facts.cpp.
References EDA_TEXT::GetAttributes(), EDA_TEXT::GetFont(), SCH_FIELD::GetId(), SCH_FIELD::GetName(), SCH_FIELD::GetPosition(), SCH_FIELD::GetText(), SCH_FIELD::IsMandatory(), SCH_FIELD::IsNameShown(), SCH_ITEM::IsPrivate(), EDA_TEXT::IsVisible(), and result.
Referenced by ExtractLibrarySymbolFact().
| LIBRARY_SYMBOL_FACT SCH_CONNECTIVITY::ExtractLibrarySymbolFact | ( | const LIB_SYMBOL & | aSymbol | ) |
Definition at line 192 of file conn_facts.cpp.
References LIB_SYMBOL::ComparisonAttributes(), ExtractLibraryFieldFact(), LIB_SYMBOL::GetBodyStyleCount(), LIB_SYMBOL::GetDrawItems(), LIB_SYMBOL::GetGraphicalPins(), LIB_SYMBOL::GetUnitCount(), LIB_SYMBOL::IsDerived(), pin, result, SCH_FIELD_T, SCH_PIN_T, and SCH_SHAPE_T.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), ExtractScreenFacts(), ERC_TESTER::TestLibSymbolIssues(), and ERC_TESTER::TestVariantSymbols().
| std::optional< PIN_MAP_FACT > SCH_CONNECTIVITY::ExtractPinMapFacts | ( | const SCH_SYMBOL & | aSymbol | ) |
Definition at line 1005 of file conn_facts.cpp.
References ALL_BODY_STYLES, ALL_UNITS, SCH_SYMBOL::GetLibSymbolRef(), SCH_SYMBOL::GetPosition(), PIN_MAP_SET::IsEmpty(), EDA_ITEM::m_Uuid, pin, and result.
Referenced by ExtractScreenFacts(), and ERC_TESTER::TestPinMap().
| SCREEN_FACTS SCH_CONNECTIVITY::ExtractScreenFacts | ( | const SCH_SCREEN & | aScreen, |
| std::shared_ptr< const LIBRARY_SYMBOL_FACTS > | aLibrarySymbols = {}, | ||
| const SCREEN_FACTS * | aUnchangedNonLines = nullptr ) |
Main-thread snapshots; no derived connectivity or model pointers survive extraction.
aUnchangedNonLines requires a verified unchanged non-line source revision.
Definition at line 459 of file conn_facts.cpp.
References ANCHOR, SCH_CONNECTIVITY::RULE_AREA_FACT::attachedDirectives, EE_RTREE::begin(), BUS, SCH_CONNECTIVITY::PIN_FACT::canDrive, SCH_CONNECTIVITY::RULE_AREA_FACT::containedItems, EE_RTREE::EE_TYPE::empty(), EE_RTREE::end(), ENTRY, ENTRY_BUS, ExtractLibrarySymbolFact(), ExtractPinMapFacts(), ExtractUnitFacts(), SCH_ITEM::GetLayer(), SCH_CONNECTIVITY::PIN_FACT::globalPower, SCH_CONNECTIVITY::PIN_FACT::globalPowerParent, group, SCH_CONNECTIVITY::ITEM_FACT::id, SCH_CONNECTIVITY::PIN_FACT::id, SCH_CONNECTIVITY::RULE_AREA_FACT::id, index, SCH_CONNECTIVITY::PIN_FACT::invisible, SCH_SCREEN::Items(), SCH_CONNECTIVITY::ITEM_FACT::jumperedWith, LAYER_BUS, library, SCH_CONNECTIVITY::PIN_FACT::libraryName, SCH_CONNECTIVITY::ITEM_FACT::lineWidth, SCH_CONNECTIVITY::PIN_FACT::localPower, SCH_CONNECTIVITY::PIN_FACT::localPowerParent, SCH_CONNECTIVITY::ITEM_FACT::multiUnit, name, SCH_CONNECTIVITY::PIN_FACT::name, NO_RECURSE, SCH_CONNECTIVITY::PIN_FACT::number, EE_RTREE::OfType(), SCH_CONNECTIVITY::ITEM_FACT::owner, SCH_CONNECTIVITY::PIN_FACT::padNumber, pin, SCH_CONNECTIVITY::ITEM_FACT::pins, SCH_CONNECTIVITY::RULE_AREA_FACT::polygon, SCH_CONNECTIVITY::ITEM_FACT::ports, SCH_CONNECTIVITY::PIN_FACT::position, SCH_CONNECTIVITY::PORT_FACT::position, PT_NC, SCH_CONNECTIVITY::ITEM_FACT::rawText, result, SCH_CONNECTIVITY::SCREEN_FACTS::ruleAreas, SCH_BUS_BUS_ENTRY_T, SCH_BUS_WIRE_ENTRY_T, SCH_DIRECTIVE_LABEL_T, SCH_FIELD_T, SCH_LINE_T, SCH_PIN_T, SCH_RULE_AREA_T, SCH_SHEET_T, SCH_SYMBOL_T, SCH_CONNECTIVITY::ITEM_FACT::segment, SCH_CONNECTIVITY::PIN_FACT::shownName, SCH_CONNECTIVITY::PIN_FACT::shownNumber, EE_RTREE::size(), EDA_ITEM::Type(), SCH_CONNECTIVITY::ITEM_FACT::type, SCH_CONNECTIVITY::PIN_FACT::type, SCH_CONNECTIVITY::PIN_FACT::unit, VALUE, WIRE, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and SCH_CONNECTIVITY::INPUT_STORE::Screen().
| std::vector< SIMULATION_MODEL_FACT > SCH_CONNECTIVITY::ExtractSimulationModelFacts | ( | const SCH_SHEET_PATH & | aPath, |
| const wxString & | aVariantName ) |
Definition at line 139 of file conn_facts.cpp.
References SCH_CONNECTIVITY::INPUT_TEXT_SCOPE::Active(), SIM_LIB_MGR::CaptureModelInput(), SCH_SHEET_PATH::GetExcludedFromSim(), SCH_CONNECTIVITY::SIMULATION_MODEL_FACT::id, SCH_SCREEN::Items(), SCH_SHEET_PATH::LastScreen(), EE_RTREE::OfType(), result, and SCH_SYMBOL_T.
Referenced by SCH_CONNECTIVITY::FACADE::PrepareSimulationModels(), and ERC_TESTER::TestSimModelIssues().
| std::vector< TEXT_ASSERTION > SCH_CONNECTIVITY::ExtractTextAssertions | ( | const wxString & | aText | ) |
Definition at line 805 of file conn_facts.cpp.
References result.
Referenced by ExtractDrawingSheetTextChecks(), ExtractTextChecks(), and ERC_TESTER::TestTextVars().
| std::vector< TEXT_CHECK_FACT > SCH_CONNECTIVITY::ExtractTextChecks | ( | const SCH_SCREEN & | aScreen, |
| const SCH_SHEET_PATH & | aPath ) |
Definition at line 878 of file conn_facts.cpp.
References ExpandEnvVarSubstitutions(), ExtractTextAssertions(), FOR_ERC_DRC, SCH_SHEET::GetPins(), SCH_SCREEN::Items(), library, niluuid, NO_RECURSE, EE_RTREE::OfType(), pin, SCH_SHEET_PATH::push_back(), result, SCH_LOCATE_ANY_T, SCH_SHEET_T, SCH_SYMBOL_T, SCH_TEXT_T, SCH_TEXTBOX_T, SCH_SCREEN::Schematic(), source, text, and EDA_ITEM::Type().
Referenced by SCH_CONNECTIVITY::FACADE::PrepareTextChecks(), and ERC_TESTER::TestTextVars().
| std::vector< UNIT_FACT > SCH_CONNECTIVITY::ExtractUnitFacts | ( | const LIB_SYMBOL & | aSymbol | ) |
Definition at line 1031 of file conn_facts.cpp.
References SCH_CONNECTIVITY::UNIT_FACT::bidirectional, LIB_SYMBOL::GetGraphicalPins(), LIB_SYMBOL::GetUnitCount(), LIB_SYMBOL::GetUnitDisplayName(), SCH_CONNECTIVITY::UNIT_FACT::input, SCH_CONNECTIVITY::UNIT_FACT::name, pin, SCH_CONNECTIVITY::UNIT_FACT::powerInput, PT_BIDI, PT_INPUT, PT_POWER_IN, and result.
Referenced by ExtractScreenFacts(), and ERC_TESTER::multiUnitSources().
| std::optional< VARIANT_SYMBOL_FACT > SCH_CONNECTIVITY::ExtractVariantSymbolFact | ( | const SCH_SYMBOL & | aSymbol, |
| const SCH_SHEET_PATH & | aPath ) |
Definition at line 168 of file conn_facts.cpp.
References SCH_SYMBOL::GetInstance(), EDA_ITEM::m_Uuid, SCH_SYMBOL_INSTANCE::m_Variants, name, SCH_SHEET_PATH::Path(), and result.
Referenced by ExtractInstanceFacts(), and ERC_TESTER::TestVariantSymbols().
| SCREEN_GEOMETRY SCH_CONNECTIVITY::GeometryOf | ( | const SCREEN_FACTS & | aFacts | ) |
Definition at line 160 of file conn_islands.cpp.
References SCH_CONNECTIVITY::RULE_AREA_FACT::attachedDirectives, SCH_CONNECTIVITY::ITEM_FACT::id, SCH_CONNECTIVITY::ITEM_GEOMETRY::id, SCH_CONNECTIVITY::SCREEN_FACTS::items, SCH_CONNECTIVITY::ITEM_FACT::jumperedWith, SCH_CONNECTIVITY::ITEM_GEOMETRY::jumperedWith, SCH_CONNECTIVITY::ITEM_FACT::owner, SCH_CONNECTIVITY::ITEM_GEOMETRY::owner, pin, SCH_CONNECTIVITY::ITEM_FACT::pins, SCH_CONNECTIVITY::ITEM_GEOMETRY::pins, SCH_CONNECTIVITY::ITEM_FACT::ports, SCH_CONNECTIVITY::ITEM_GEOMETRY::ports, result, SCH_CONNECTIVITY::SCREEN_FACTS::ruleAreas, SCH_CONNECTIVITY::ITEM_FACT::segment, SCH_CONNECTIVITY::ITEM_GEOMETRY::segment, SCH_CONNECTIVITY::ITEM_FACT::type, and SCH_CONNECTIVITY::ITEM_GEOMETRY::type.
Referenced by SCH_CONNECTIVITY::INPUT_STORE::Geometry().
| SUMMARY SCH_CONNECTIVITY::MakeSummary | ( | const RECORD_KEY & | aKey, |
| const ISLAND_RECORD & | aRecord ) |
Consumes a canonical BuildIslandRecord() result.
Strong names and counts remain island ERC inputs.
Definition at line 27 of file conn_summary.cpp.
References SCH_CONNECTIVITY::ISLAND_RECORD::atoms, SCH_CONNECTIVITY::ISLAND_RECORD::claims, SCH_CONNECTIVITY::RECORD_KEY::inst, SCH_CONNECTIVITY::ISLAND_RECORD::netclasses, SCH_CONNECTIVITY::ERC_ATOMS::noConnect, SCH_CONNECTIVITY::ERC_ATOMS::pinWitnesses, and result.
Referenced by DeriveSignal().
| void SCH_CONNECTIVITY::ParallelFor | ( | size_t | aCount, |
| FUNCTION && | aFunction, | ||
| thread_pool & | aPool = GetKiCadThreadPool() ) |
Independent ordinal writes only; preparation and cache commits stay on the caller thread.
Workers must not intern SESSION_KEYS or take CACHE_VERSIONS, because neither is synchronized.
Definition at line 72 of file conn_tasks.h.
References SCH_CONNECTIVITY::TASK_GROUP::Get(), and SCH_CONNECTIVITY::TASK_GROUP::Submit().
Referenced by SCH_CONNECTIVITY::PARTITIONER::Build(), SCH_CONNECTIVITY::INPUT_STORE::Capture(), SCH_CONNECTIVITY::ENGINE::Update(), and SCH_CONNECTIVITY::RECORD_STORE::Update().
| BUNDLE_INPUT SCH_CONNECTIVITY::PrepareBundle | ( | const PARTITION & | aPartition, |
| const RECORD_STORE::RECORD_CACHE & | aRecords, | ||
| SESSION_KEYS & | aKeys ) |
Collect the bus claims of a bundle partition and intern their leaf names on the main thread.
The canonical claim is placed first for the pure binding step.
| std::invalid_argument | if the partition does not match the current records. |
| std::length_error | if a schema has more leaves than a slot ordinal can hold. |
Definition at line 31 of file conn_bindings.cpp.
References SCH_CONNECTIVITY::PARTITION::anchor, BUNDLE, SCH_CONNECTIVITY::BUNDLE_CLAIM::claim, SCH_CONNECTIVITY::ISLAND_RECORD::claims, SCH_CONNECTIVITY::CACHE_TABLE< KEY, VALUE, LESS >::Find(), group, SCH_CONNECTIVITY::PARTITION::identity, SCH_CONNECTIVITY::SESSION_KEYS::InternName(), SCH_CONNECTIVITY::ISLAND_RECORD::items, SCH_CONNECTIVITY::SESSION_KEYS::Name(), SCH_CONNECTIVITY::ISLAND_RECORD::netclasses, SCH_CONNECTIVITY::SESSION_KEYS::Node(), path, result, SCH_CONNECTIVITY::CLAIM::schema, and source.
Referenced by SCH_CONNECTIVITY::ENGINE::Update().
| INSTANCE_CLAIMS SCH_CONNECTIVITY::PrepareInstanceClaims | ( | const SCREEN_FACTS & | aFacts, |
| const INSTANCE_FACTS & | aText, | ||
| const INSTANCE_SCOPE & | aScope, | ||
| SESSION_KEYS & | aKeys, | ||
| BUS_PARSE_CACHE & | aParses ) |
Main-thread interning and parse preparation, followed by a pure per-island fold.
PrepareInstanceClaims() assigns the priority, scope and names of each claim.
Definition at line 75 of file conn_claims.cpp.
References SCH_CONNECTIVITY::ITEM_TEXT_FACT::canDrive, SCH_CONNECTIVITY::INSTANCE_SCOPE::children, SCH_CONNECTIVITY::SOURCE_CLAIMS::claim, SCH_CONNECTIVITY::INSTANCE_RULE_AREA_FACT::containedItems, SCH_CONNECTIVITY::CLAIM::depth, SCH_CONNECTIVITY::INSTANCE_SCOPE::depth, SCH_CONNECTIVITY::CLAIM::fullName, GLOBAL, GLOBAL_POWER_PIN, SCH_CONNECTIVITY::CLAIM::globalPowerParent, SCH_CONNECTIVITY::CLAIM::hasPad, SCH_CONNECTIVITY::ITEM_FACT::id, SCH_CONNECTIVITY::ITEM_TEXT_FACT::id, SCH_CONNECTIVITY::INSTANCE_SCOPE::instance, SCH_CONNECTIVITY::SESSION_KEYS::InternName(), SCH_CONNECTIVITY::SOURCE_CLAIMS::invisiblePower, SCH_CONNECTIVITY::INSTANCE_FACTS::items, SCH_CONNECTIVITY::SCREEN_FACTS::items, LOCAL_POWER_PIN, SCH_CONNECTIVITY::CLAIM::localPowerParent, SCH_CONNECTIVITY::SESSION_KEYS::Name(), name, SCH_CONNECTIVITY::CLAIM::name, SCH_CONNECTIVITY::ITEM_TEXT_FACT::name, SCH_CONNECTIVITY::CLAIM::ncName, SCH_CONNECTIVITY::ITEM_TEXT_FACT::ncName, SCH_CONNECTIVITY::INSTANCE_RULE_AREA_FACT::netclasses, SCH_CONNECTIVITY::ITEM_TEXT_FACT::netclasses, SCH_CONNECTIVITY::SOURCE_CLAIMS::netclasses, NONE, SCH_CONNECTIVITY::CLAIM::outputShape, SCH_CONNECTIVITY::ITEM_FACT::outputShape, SCH_CONNECTIVITY::ITEM_FACT::owner, SCH_CONNECTIVITY::BUS_PARSE_CACHE::Parse(), SCH_CONNECTIVITY::CLAIM::path, SCH_CONNECTIVITY::INSTANCE_SCOPE::path, PIN, pin, SCH_CONNECTIVITY::SOURCE_CLAIMS::pinGroup, SCH_CONNECTIVITY::ITEM_FACT::pins, SCH_CONNECTIVITY::SOURCE_CLAIMS::pinWitness, SCH_CONNECTIVITY::CLAIM::portInstance, SCH_CONNECTIVITY::SOURCE_CLAIMS::portInstance, SCH_CONNECTIVITY::CLAIM::priority, PT_POWER_IN, result, SCH_CONNECTIVITY::INSTANCE_FACTS::ruleAreas, SCH_HIER_LABEL_T, SCH_PIN_T, SCH_SHEET_PIN_T, SCH_CONNECTIVITY::CLAIM::schema, SCH_CONNECTIVITY::CLAIM::source, text, SCH_CONNECTIVITY::ITEM_FACT::type, and SCH_CONNECTIVITY::SOURCE_CLAIMS::type.
Referenced by SCH_CONNECTIVITY::RECORD_STORE::Update().
| std::vector< NODE_INPUT > SCH_CONNECTIVITY::RecordNodes | ( | const RECORD_STORE::RECORD_CACHE & | aRecords, |
| KIND | aKind, | ||
| SESSION_KEYS & | aKeys ) |
Main-thread node interning for one record stratum.
Name vertices receive version zero.
Names appear only as edge targets, so PARTITIONER::Build() assigns their zero version.
Definition at line 26 of file conn_components.cpp.
References SCH_CONNECTIVITY::CACHE_TABLE< KEY, VALUE, LESS >::Entries(), SCH_CONNECTIVITY::SESSION_KEYS::InternNode(), and result.
Referenced by SignalNodes(), and SCH_CONNECTIVITY::ENGINE::Update().
| wxString SCH_CONNECTIVITY::RenderPinNetName | ( | const PIN_NAME_FACT & | aPin, |
| const PIN_NAME_REFERENCE & | aReference, | ||
| bool | aForceNoConnect ) |
Render a non-power pin name from unescaped values; an absent reference uses the symbol UUID.
Definition at line 27 of file conn_pin_name.cpp.
References CTX_NETNAME, EscapeString(), SCH_CONNECTIVITY::PIN_NAME_FACT::hasDuplicateName, KIID::Hash(), name, SCH_CONNECTIVITY::PIN_NAME_FACT::name, SCH_CONNECTIVITY::PIN_NAME_FACT::noConnect, SCH_CONNECTIVITY::PIN_NAME_FACT::number, SCH_CONNECTIVITY::PIN_NAME_FACT::padNumber, SCH_CONNECTIVITY::PIN_NAME_REFERENCE::reference, SCH_CONNECTIVITY::PIN_NAME_REFERENCE::referenceWithUnit, SCH_CONNECTIVITY::PIN_NAME_FACT::shownNumber, and SCH_CONNECTIVITY::PIN_NAME_REFERENCE::symbolUuid.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), ExtractInstanceFacts(), and SCH_PIN::GetDefaultNetName().
| std::vector< NODE_INPUT > SCH_CONNECTIVITY::SignalNodes | ( | const RECORD_STORE::RECORD_CACHE & | aRecords, |
| const SLOT_STORE::SLOT_CACHE & | aSlots, | ||
| SESSION_KEYS & | aKeys ) |
Main-thread interning of current signal records and slots for the signal fold.
A slot parent edge becomes a node edge only if a signal record claims the same name key. Two buses thus never join through a parent name that no net on that sheet uses.
Definition at line 282 of file conn_bindings.cpp.
References SCH_CONNECTIVITY::NODE_INPUT::edges, SCH_CONNECTIVITY::CACHE_TABLE< KEY, VALUE, LESS >::Entries(), SCH_CONNECTIVITY::SESSION_KEYS::InternNode(), RecordNodes(), result, and SIGNAL.
Referenced by SCH_CONNECTIVITY::ENGINE::Update().
|
constexpr |
Marks an unset handle.
The session never gives this value to an interned key.
Definition at line 47 of file conn_keys.h.
Referenced by BindBundle(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), SCH_CONNECTIVITY::PARTITIONER::Build(), SCH_CONNECTIVITY::ENGINE::BusEntryConflicts(), SCH_CONNECTIVITY::ITEM_VIEW::FullLocalName(), SCH_CONNECTIVITY::ENGINE::GroundPinErrors(), SCH_CONNECTIVITY::FACADE_STATE::Group(), SCH_CONNECTIVITY::FACADE_STATE::Groups(), SCH_CONNECTIVITY::SESSION_KEYS::INTERN_TABLE< VALUE, MAP >::Intern(), SCH_CONNECTIVITY::ITEM_VIEW::LocalName(), SCH_CONNECTIVITY::ENGINE::MultiUnitPinConflicts(), SCH_CONNECTIVITY::FACADE_STATE::Name(), SCH_CONNECTIVITY::ENGINE::PinNets(), SCH_CONNECTIVITY::PUBLICATION::PrepareRows(), SCH_CONNECTIVITY::FACADE::Recalculate(), SCH_CONNECTIVITY::PUBLICATION::Update(), and SCH_CONNECTIVITY::PUBLICATION::UpdateIndexes().