KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCH_CONNECTIVITY::AUXILIARY Class Reference

Source-keyed publication independent of electrical component identity. More...

#include <conn_auxiliary.h>

Classes

struct  AREA_ENTRY
 
struct  ISLAND_ENTRY
 

Public Types

using ISLANDS = std::map<RECORD_KEY, ISLAND_ENTRY, KEY_LESS>
 
using AREAS = std::map<ITEM_KEY, AREA_ENTRY, KEY_LESS>
 
using ISLAND_INDEX = std::map<ITEM_KEY, RECORD_KEY, KEY_LESS>
 
using AREA_INDEX = std::map<ITEM_KEY, std::vector<KIID>, KEY_LESS>
 
using NEIGHBOR_INDEX = std::map<ITEM_KEY, std::vector<KIID>, KEY_LESS>
 

Public Member Functions

 AUXILIARY (SESSION_KEYS &aKeys)
 
void Update (std::span< const FRAME_INSTANCE > aFrame, const INPUT_STORE &aInputs, const RECORD_STORE::RECORD_CACHE &aRecords, CHANGE_SET &aChanges)
 Publish the changed islands and rule areas.
 
void Clear ()
 
const ISLANDSIslands () const
 
const AREASRuleAreas () const
 
const ISLAND_INDEXIslandOf () const
 
const NEIGHBOR_INDEXNeighborsOf () const
 
const AREA_INDEXRuleAreasOf () const
 
const std::map< SCREEN_ID, uint64_t > & ScreenRevisions () const
 

Private Attributes

SESSION_KEYSm_keys
 
ISLANDS m_islands
 
AREAS m_areas
 
ISLAND_INDEX m_islandOf
 
AREA_INDEX m_ruleAreasOf
 
NEIGHBOR_INDEX m_neighborsOf
 
std::map< SCREEN_ID, uint64_t > m_screenRevisions
 
std::set< INST_IDm_instances
 
uint64_t m_sourceVersion = 0
 

Detailed Description

Source-keyed publication independent of electrical component identity.

Definition at line 50 of file conn_auxiliary.h.

Member Typedef Documentation

◆ AREA_INDEX

Definition at line 67 of file conn_auxiliary.h.

◆ AREAS

Definition at line 65 of file conn_auxiliary.h.

◆ ISLAND_INDEX

◆ ISLANDS

◆ NEIGHBOR_INDEX

Definition at line 69 of file conn_auxiliary.h.

Constructor & Destructor Documentation

◆ AUXILIARY()

SCH_CONNECTIVITY::AUXILIARY::AUXILIARY ( SESSION_KEYS & aKeys)
explicit

Definition at line 29 of file conn_auxiliary.cpp.

References m_areas, m_islandOf, m_islands, m_keys, m_neighborsOf, and m_ruleAreasOf.

Member Function Documentation

◆ Clear()

void SCH_CONNECTIVITY::AUXILIARY::Clear ( )

◆ IslandOf()

const ISLAND_INDEX & SCH_CONNECTIVITY::AUXILIARY::IslandOf ( ) const
inline

Definition at line 84 of file conn_auxiliary.h.

References m_islandOf.

◆ Islands()

const ISLANDS & SCH_CONNECTIVITY::AUXILIARY::Islands ( ) const
inline

Definition at line 82 of file conn_auxiliary.h.

References m_islands.

◆ NeighborsOf()

const NEIGHBOR_INDEX & SCH_CONNECTIVITY::AUXILIARY::NeighborsOf ( ) const
inline

Definition at line 85 of file conn_auxiliary.h.

References m_neighborsOf.

◆ RuleAreas()

const AREAS & SCH_CONNECTIVITY::AUXILIARY::RuleAreas ( ) const
inline

Definition at line 83 of file conn_auxiliary.h.

References m_areas.

◆ RuleAreasOf()

const AREA_INDEX & SCH_CONNECTIVITY::AUXILIARY::RuleAreasOf ( ) const
inline

Definition at line 86 of file conn_auxiliary.h.

References m_ruleAreasOf.

Referenced by SCH_CONNECTIVITY::FACADE::Recalculate().

◆ ScreenRevisions()

const std::map< SCREEN_ID, uint64_t > & SCH_CONNECTIVITY::AUXILIARY::ScreenRevisions ( ) const
inline

Definition at line 87 of file conn_auxiliary.h.

References m_screenRevisions.

◆ Update()

void SCH_CONNECTIVITY::AUXILIARY::Update ( std::span< const FRAME_INSTANCE > aFrame,
const INPUT_STORE & aInputs,
const RECORD_STORE::RECORD_CACHE & aRecords,
CHANGE_SET & aChanges )

Publish the changed islands and rule areas.

Add their items, the items of new instances and the items with changed sources or text to aChanges, then sort and deduplicate the item, island and rule area lists.

Definition at line 39 of file conn_auxiliary.cpp.

References SCH_CONNECTIVITY::ISLAND::adjacency, SCH_CONNECTIVITY::ISLAND_AUX::adjacency, SCH_CONNECTIVITY::ISLAND::anchor, SCH_CONNECTIVITY::INPUT_STORE::Area(), SCH_CONNECTIVITY::ISLAND_AUX::atoms, SCH_CONNECTIVITY::ISLAND::busEntryLinks, SCH_CONNECTIVITY::ISLAND_AUX::busEntryLinks, SCH_CONNECTIVITY::CHANGE_SET::changedIslands, SCH_CONNECTIVITY::CHANGE_SET::changedItems, SCH_CONNECTIVITY::CHANGE_SET::changedRuleAreas, SCH_CONNECTIVITY::ISLAND::dangling, SCH_CONNECTIVITY::ISLAND_AUX::dangling, SCH_CONNECTIVITY::CACHE_TABLE< KEY, VALUE, LESS >::Entries(), SCH_CONNECTIVITY::INPUT_STORE::Fact(), SCH_CONNECTIVITY::INPUT_STORE::FindInstance(), SCH_CONNECTIVITY::INPUT_STORE::FindIslands(), SCH_CONNECTIVITY::INPUT_STORE::FindScreen(), SCH_CONNECTIVITY::ITEM_FACT::id, SCH_CONNECTIVITY::ITEM_TEXT_FACT::id, SCH_CONNECTIVITY::INSTANCE_SCOPE::instance, SCH_CONNECTIVITY::ISLAND::items, SCH_CONNECTIVITY::ISLAND_AUX::items, m_areas, m_instances, m_islandOf, m_islands, m_keys, m_neighborsOf, m_ruleAreasOf, m_screenRevisions, m_sourceVersion, name, SCH_CONNECTIVITY::ISLAND::ncContacts, SCH_CONNECTIVITY::ISLAND_AUX::ncContacts, SCH_CONNECTIVITY::RULE_AREA_RESULT::netclasses, pin, SCH_CONNECTIVITY::ITEM_FACT::pins, SCH_CONNECTIVITY::FRAME_INSTANCE::scope, SCH_CONNECTIVITY::FRAME_INSTANCE::screen, SCH_CONNECTIVITY::INPUT_STORE::ScreenRevisions(), SCH_CONNECTIVITY::INPUT_STORE::Text(), and text.

Member Data Documentation

◆ m_areas

AREAS SCH_CONNECTIVITY::AUXILIARY::m_areas
private

Definition at line 92 of file conn_auxiliary.h.

Referenced by AUXILIARY(), Clear(), RuleAreas(), and Update().

◆ m_instances

std::set<INST_ID> SCH_CONNECTIVITY::AUXILIARY::m_instances
private

Definition at line 97 of file conn_auxiliary.h.

Referenced by Clear(), and Update().

◆ m_islandOf

ISLAND_INDEX SCH_CONNECTIVITY::AUXILIARY::m_islandOf
private

Definition at line 93 of file conn_auxiliary.h.

Referenced by AUXILIARY(), Clear(), IslandOf(), and Update().

◆ m_islands

ISLANDS SCH_CONNECTIVITY::AUXILIARY::m_islands
private

Definition at line 91 of file conn_auxiliary.h.

Referenced by AUXILIARY(), Clear(), Islands(), and Update().

◆ m_keys

SESSION_KEYS& SCH_CONNECTIVITY::AUXILIARY::m_keys
private

Definition at line 90 of file conn_auxiliary.h.

Referenced by AUXILIARY(), and Update().

◆ m_neighborsOf

NEIGHBOR_INDEX SCH_CONNECTIVITY::AUXILIARY::m_neighborsOf
private

Definition at line 95 of file conn_auxiliary.h.

Referenced by AUXILIARY(), Clear(), NeighborsOf(), and Update().

◆ m_ruleAreasOf

AREA_INDEX SCH_CONNECTIVITY::AUXILIARY::m_ruleAreasOf
private

Definition at line 94 of file conn_auxiliary.h.

Referenced by AUXILIARY(), Clear(), RuleAreasOf(), and Update().

◆ m_screenRevisions

std::map<SCREEN_ID, uint64_t> SCH_CONNECTIVITY::AUXILIARY::m_screenRevisions
private

Definition at line 96 of file conn_auxiliary.h.

Referenced by Clear(), ScreenRevisions(), and Update().

◆ m_sourceVersion

uint64_t SCH_CONNECTIVITY::AUXILIARY::m_sourceVersion = 0
private

Definition at line 98 of file conn_auxiliary.h.

Referenced by Clear(), and Update().


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