23#ifndef PCAD_SCH_PARSER_H
24#define PCAD_SCH_PARSER_H
105 std::vector<std::pair<double, double>>
pts;
120 std::vector<std::pair<double, double>>
pts;
197 std::vector<std::pair<double, double>>
pts;
206 std::vector<std::pair<double, double>>
pts;
341 double toMils(
const wxString& aValue )
const;
342 std::vector<std::pair<double, double>>
collectPts(
XNODE* aNode )
const;
343 bool parsePt(
XNODE* aNode,
double& aX,
double& aY )
const;
345 double childDouble(
XNODE* aNode,
const wxString& aTag,
double aDefault = 0.0 )
const;
346 static wxString
childStr(
XNODE* aNode,
const wxString& aTag,
347 const wxString& aDefault = wxEmptyString );
void LoadFromFile(const wxString &aFilename, SCHEMATIC &aSchematic)
void parseNetlist(XNODE *aNode, SCHEMATIC &aSchematic)
static bool childFlag(XNODE *aNode, const wxString &aTag)
void parseSymbolDef(XNODE *aNode, SYMBOL_DEF &aSymDef)
void parseSchematicDesign(XNODE *aNode, SCHEMATIC &aSchematic)
IEEE_SYMBOL parseIeeeSymbol(XNODE *aNode)
ARC parseArc(XNODE *aNode)
TEXT_ITEM parseText(XNODE *aNode)
void parseFieldSets(XNODE *aNode, SCHEMATIC &aSchematic)
std::vector< std::pair< double, double > > collectPts(XNODE *aNode) const
double childDouble(XNODE *aNode, const wxString &aTag, double aDefault=0.0) const
static wxString NodeText(XNODE *aNode)
void parseLibrary(XNODE *aNode, SCHEMATIC &aSchematic)
double toMils(const wxString &aValue) const
void parseCompDef(XNODE *aNode, COMP_DEF &aCompDef)
bool parsePtNode(XNODE *aPtNode, double &aX, double &aY) const
static XNODE * FindChild(XNODE *aNode, const wxString &aTag)
void parseTextStyleDef(XNODE *aNode, SCHEMATIC &aSchematic)
ATTR parseAttr(XNODE *aNode)
BUS parseBus(XNODE *aNode)
bool parsePt(XNODE *aNode, double &aX, double &aY) const
POLY parsePoly(XNODE *aNode)
PCAD_SCH_PARSER()=default
WIRE parseWire(XNODE *aNode)
PIN parsePin(XNODE *aNode)
void parseSheet(XNODE *aNode, SHEET &aSheet)
void parseHeader(XNODE *aNode, SCHEMATIC &aSchematic)
static JUSTIFY parseJustify(const wxString &aValue)
LINE parseLine(XNODE *aNode)
static wxString childStr(XNODE *aNode, const wxString &aTag, const wxString &aDefault=wxEmptyString)
ARC parseTriplePointArc(XNODE *aNode)
An extension of wxXmlNode that can format its contents as KiCad-style s-expressions.
Center/radius/angles form; triplePointArc is converted at parse time.
std::vector< std::pair< double, double > > pts
std::vector< wxString > attachedSymbols
std::vector< COMP_PIN > compPins
A (compPin "padDes" ...) inside a compDef, mapping a symbol pin ordinal to the physical pad designato...
A placed title-block field whose name references the fieldDef holding the displayed text.
One font description inside a (textStyleDef ...).
std::vector< std::pair< double, double > > pts
wxString outsideEdgeStyle
std::vector< std::pair< double, double > > pts
std::map< wxString, const COMP_DEF * > compDefsByName
std::map< wxString, const COMP_INST * > compInstsByRef
std::vector< SHEET > sheets
std::vector< SYMBOL_DEF > symbolDefs
std::vector< TEXT_STYLE > textStyles
std::vector< COMP_INST > compInsts
std::map< wxString, const TEXT_STYLE * > textStylesByName
const TEXT_STYLE * FindTextStyle(const wxString &aName) const
std::map< wxString, wxString > compAliases
compAlias name -> compDef name
std::vector< COMP_DEF > compDefs
std::map< wxString, const SYMBOL_DEF * > symbolDefsByName
std::vector< PORT > ports
std::vector< BUS_ENTRY > busEntries
std::vector< WIRE > wires
std::vector< JUNCTION > junctions
std::vector< POLY > polys
std::vector< TEXT_ITEM > texts
std::vector< LINE > lines
std::vector< FIELD_PLACEMENT > fields
std::vector< IEEE_SYMBOL > ieeeSymbols
std::vector< SYMBOL_INST > symbols
std::vector< POLY > polys
std::vector< ATTR > attrs
std::vector< TEXT_ITEM > texts
std::vector< IEEE_SYMBOL > ieeeSymbols
std::vector< LINE > lines
std::vector< ATTR > attrs
const FONT & EffectiveFont() const
std::map< wxString, wxString > fields
std::vector< std::pair< double, double > > pts