29#ifndef EASYPC_SCH_BUILDER_H
30#define EASYPC_SCH_BUILDER_H
73 wxString
Name(
const wxString& aStoredName )
const;
76 bool Shared(
const wxString& aName )
const;
void buildBuses(const SOURCE_DESIGN &aDesign)
void placePinItems(const SOURCE_COMPONENT &aPart, const SOURCE_SYMBOL_INSTANCE &aInst, const SCH_FRAME &aFrame)
std::map< wxString, const SOURCE_SYMBOL * > m_projectSymbols
by name, first sheet wins
void placeFields(SCH_SYMBOL &aSymbol, const SOURCE_COMPONENT_INSTANCE &aComp, const SOURCE_SYMBOL_INSTANCE &aInst, bool aPower, const SCH_FRAME &aFrame)
void addBusAlias(const SOURCE_BUS &aBus, const SOURCE_SHAPE &aShape)
std::set< const SOURCE_NODE * > m_powerNodes
const SOURCE_DESIGN * m_design
void buildWires(const SOURCE_DESIGN &aDesign)
std::set< wxString > m_labelledNets
upper-cased nets a label names
SCH_BUILDER(SCHEMATIC *aSchematic, const SCH_NET_NAMES &aNames, REPORTER *aReporter)
void buildSymbols(const SOURCE_DESIGN &aDesign, const SCH_SHEET_PATH &aSheetPath)
void BuildSheet(const DESIGN_DOCUMENT &aDoc, SCH_SHEET *aSheet, const SCH_SHEET_PATH &aSheetPath)
SCH_LABEL_BASE * addLabel(const wxString &aName, const VECTOR2I &aAt)
A local label, global when the name crosses sheets or a global power symbol names it.
VECTOR2I toSheet(int32_t aX, int32_t aY) const
void SetProjectSymbols(const std::vector< const DESIGN_DOCUMENT * > &aDocs)
Symbols of every sheet, for gates placed on a sheet other than the one being built.
std::set< VECTOR2I > m_sharedPoints
points where connections of different nets meet
void buildLabels(const SOURCE_DESIGN &aDesign)
void computeOffset(const SOURCE_DESIGN &aDesign)
int32_t m_originX
design point at the sheet's top left corner
void buildCommonPinCopies(const SOURCE_DESIGN &aDesign)
std::set< wxString > m_powerNets
upper-cased nets a power symbol names
const SCH_NET_NAMES & m_names
Project-wide net naming: a user name takes the spelling of its first occurrence.
void AddSheet(const DESIGN_DOCUMENT &aDoc)
bool Shared(const wxString &aName) const
A user name used on more than one sheet, which is one net across the project.
wxString Name(const wxString &aStoredName) const
std::map< wxString, int > m_sheetCount
std::map< wxString, wxString > m_canonical
upper-cased name to first spelling
A pure virtual class used to derive REPORTER objects from.
Holds all the data relating to one schematic.
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
bool IsNamedNet(const wxString &aName)
True unless aName is an automatic net name (N or n and digits, an optional !sheet!...
@ SCH_SYMBOL
one item stream of a Schematic Symbol Library
A point read as two int32 values.
Design to KiCad mapping: X shifted, Y negated about the origin.
The document: OLE items, then the design.
A placed footprint (gate -1) or a placed schematic gate.
Footprints and schematic symbols alike.
VECTOR2< int32_t > VECTOR2I