Session IDs are dense handles, never a canonical ordering.
A container for handling SCH_SHEET_PATH objects in a flattened hierarchy.
Value keys and the key session of the schematic connectivity engine.
uint32_t INST_ID
Session handle of a sheet instance KIID_PATH.
uint64_t SCREEN_ID
Process-local SCH_SCREEN::ConnectivityId(), never a file UUID.
constexpr uint32_t INVALID_ID
Marks an unset handle.
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 ch...
One entry of the captured hierarchy.
SCREEN_ID screen
The screen that the instance shows. Many instances can share it.
bool operator==(const FRAME_INSTANCE &) const =default
The hierarchy position of one sheet instance.
std::map< KIID, INST_ID > children
The child instance of each SCH_SHEET KIID on this screen.
wxString path
The human-readable sheet path, which prefixes scoped names.
INST_ID instance
The session handle of the instance KIID_PATH.
bool operator==(const INSTANCE_SCOPE &) const =default
uint16_t depth
The number of sheets in the path, with the root sheet as one.