KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCH_IO_KICAD_SEXPR_PARSER Class Reference

Object to parser s-expression symbol library and schematic file formats. More...

#include <sch_io_kicad_sexpr_parser.h>

Inheritance diagram for SCH_IO_KICAD_SEXPR_PARSER:

Classes

struct  CHAIN_TERMINAL
 
struct  GROUP_INFO
 

Public Types

using CHAIN_TERMINALS = std::pair<CHAIN_TERMINAL, CHAIN_TERMINAL>
 

Public Member Functions

 SCH_IO_KICAD_SEXPR_PARSER (LINE_READER *aLineReader=nullptr, PROGRESS_REPORTER *aProgressReporter=nullptr, unsigned aLineCount=0, SCH_SHEET *aRootSheet=nullptr, bool aIsAppending=false)
 
void ParseLib (LIB_SYMBOL_MAP &aSymbolLibMap)
 
LIB_SYMBOLParseSymbol (LIB_SYMBOL_MAP &aSymbolLibMap, int aFileVersion=SEXPR_SYMBOL_LIB_FILE_VERSION)
 Parse internal LINE_READER object into symbols and return all found.
 
SCH_ITEMParseSymbolDrawItem ()
 
void ParseSchematic (SCH_SHEET *aSheet, bool aIsCopyablyOnly=false, int aFileVersion=SEXPR_SCHEMATIC_FILE_VERSION)
 Parse the internal LINE_READER object into aSheet.
 
int GetParsedRequiredVersion () const
 
const std::vector< wxString > & GetParseWarnings () const
 Return any non-fatal parse warnings that occurred during parsing.
 
const std::map< wxString, wxString > & GetNetChainNetClasses () const
 
const std::map< wxString, COLOR4D > & GetNetChainColors () const
 
const std::map< wxString, CHAIN_TERMINALS > & GetNetChainTerminalRefs () const
 
const std::map< wxString, std::set< wxString > > & GetNetChainMemberNets () const
 

Private Member Functions

void checkpoint ()
 
KIID parseKIID ()
 
void parseHeader (TSCHEMATIC_T::T aHeaderType, int aFileVersion)
 
long parseHex ()
 
int parseInt ()
 
int parseInt (const char *aExpected)
 
int parseInternalUnits ()
 
int parseInternalUnits (const char *aExpected)
 
int parseInternalUnits (TSCHEMATIC_T::T aToken)
 
VECTOR2I parseXY (bool aInvertY=false)
 
bool parseBool ()
 
bool parseMaybeAbsentBool (bool aDefaultValue)
 Parses a boolean flag inside a list that existed before boolean normalization.
 
LIB_SYMBOLparseLibSymbol (LIB_SYMBOL_MAP &aSymbolLibMap)
 
void parseStroke (STROKE_PARAMS &aStroke)
 Parse stroke definition aStroke.
 
void parseFill (FILL_PARAMS &aFill)
 
void parseMargins (int &aLeft, int &aTop, int &aRight, int &aBottom)
 
void parseEDA_TEXT (EDA_TEXT *aText, bool aConvertOverbarSyntax, bool aEnforceMinTextSize=true)
 
void parseBodyStyles (std::unique_ptr< LIB_SYMBOL > &aSymbol)
 
void parsePinNames (std::unique_ptr< LIB_SYMBOL > &aSymbol)
 
void parsePinNumbers (std::unique_ptr< LIB_SYMBOL > &aSymbol)
 
SCH_FIELDparseProperty (std::unique_ptr< LIB_SYMBOL > &aSymbol)
 
void parseEllipseBody (SCH_SHAPE *aShape, bool aIsArc, bool aIsSchematic, TSCHEMATIC_T::T aFirstTok)
 
SCH_SHAPEparseSymbolArc ()
 
SCH_SHAPEparseSymbolBezier ()
 
SCH_SHAPEparseSymbolCircle ()
 
SCH_SHAPEparseSymbolEllipse ()
 
SCH_SHAPEparseSymbolEllipseArc ()
 
SCH_PINparseSymbolPin ()
 
SCH_SHAPEparseSymbolPolyLine ()
 
SCH_SHAPEparseSymbolRectangle ()
 
SCH_ITEMparseSymbolText ()
 
SCH_TEXTBOXparseSymbolTextBox ()
 
void parsePAGE_INFO (PAGE_INFO &aPageInfo)
 
void parseTITLE_BLOCK (TITLE_BLOCK &aTitleBlock)
 
void parseSchSymbolInstances (SCH_SCREEN *aScreen)
 
void parseSchSheetInstances (SCH_SHEET *aRootSheet, SCH_SCREEN *aScreen)
 
void parseGroup ()
 
void parseGroupMembers (GROUP_INFO &aGroupInfo)
 
SCH_SHEET_PINparseSchSheetPin (SCH_SHEET *aSheet)
 
SCH_FIELDparseSchField (SCH_ITEM *aParent)
 
SCH_SYMBOLparseSchematicSymbol ()
 
SCH_BITMAPparseImage ()
 
SCH_SHEETparseSheet ()
 
SCH_JUNCTIONparseJunction ()
 
SCH_NO_CONNECTparseNoConnect ()
 
SCH_BUS_WIRE_ENTRYparseBusEntry ()
 
SCH_LINEparseLine ()
 
SCH_SHAPEparseSchPolyLine ()
 
SCH_SHAPEparseSchArc ()
 
SCH_SHAPEparseSchCircle ()
 
SCH_SHAPEparseSchEllipse ()
 
SCH_SHAPEparseSchEllipseArc ()
 
SCH_SHAPEparseSchRectangle ()
 
SCH_SHAPEparseSchBezier ()
 
SCH_RULE_AREAparseSchRuleArea ()
 
SCH_TEXTparseSchText ()
 
SCH_TEXTBOXparseSchTextBox ()
 
void parseSchTextBoxContent (SCH_TEXTBOX *aTextBox)
 
SCH_TABLECELLparseSchTableCell ()
 
SCH_TABLEparseSchTable ()
 
void parseBusAlias (SCH_SCREEN *aScreen)
 
void parseSchNetChain ()
 
void resolveGroups (SCH_SCREEN *aParent)
 
void skipToBlockEnd (int aDepth=1)
 Skip tokens until we reach the end of the current S-expression block.
 

Private Attributes

int m_requiredVersion
 Set to the symbol library file version required.
 
wxString m_generatorVersion
 
int m_unit
 The current unit being parsed.
 
int m_bodyStyle
 The current body style being parsed.
 
wxString m_symbolName
 The current symbol name.
 
bool m_appending
 Appending load status.
 
std::set< KIIDm_uuids
 
PROGRESS_REPORTERm_progressReporter
 
const LINE_READERm_lineReader
 
unsigned m_lastProgressLine
 
unsigned m_lineCount
 
KIID m_rootUuid
 
SCH_SHEETm_rootSheet
 The rootsheet for full project loads or null for importing a schematic.
 
int m_maxError
 Max deviation allowed when approximating bezier curves.
 
std::vector< GROUP_INFOm_groupInfos
 
std::vector< wxString > m_parseWarnings
 Non-fatal warnings collected during parsing.
 
std::map< wxString, wxString > m_netChainNetClasses
 
std::map< wxString, COLOR4Dm_netChainColors
 
std::map< wxString, CHAIN_TERMINALSm_netChainTerminalRefs
 
std::map< wxString, std::set< wxString > > m_netChainMemberNets
 

Detailed Description

Object to parser s-expression symbol library and schematic file formats.

Definition at line 80 of file sch_io_kicad_sexpr_parser.h.

Member Typedef Documentation

◆ CHAIN_TERMINALS

Constructor & Destructor Documentation

◆ SCH_IO_KICAD_SEXPR_PARSER()

SCH_IO_KICAD_SEXPR_PARSER::SCH_IO_KICAD_SEXPR_PARSER ( LINE_READER * aLineReader = nullptr,
PROGRESS_REPORTER * aProgressReporter = nullptr,
unsigned aLineCount = 0,
SCH_SHEET * aRootSheet = nullptr,
bool aIsAppending = false )

Member Function Documentation

◆ checkpoint()

void SCH_IO_KICAD_SEXPR_PARSER::checkpoint ( )
private

◆ GetNetChainColors()

const std::map< wxString, COLOR4D > & SCH_IO_KICAD_SEXPR_PARSER::GetNetChainColors ( ) const
inline

◆ GetNetChainMemberNets()

const std::map< wxString, std::set< wxString > > & SCH_IO_KICAD_SEXPR_PARSER::GetNetChainMemberNets ( ) const
inline

◆ GetNetChainNetClasses()

const std::map< wxString, wxString > & SCH_IO_KICAD_SEXPR_PARSER::GetNetChainNetClasses ( ) const
inline

◆ GetNetChainTerminalRefs()

const std::map< wxString, CHAIN_TERMINALS > & SCH_IO_KICAD_SEXPR_PARSER::GetNetChainTerminalRefs ( ) const
inline

◆ GetParsedRequiredVersion()

int SCH_IO_KICAD_SEXPR_PARSER::GetParsedRequiredVersion ( ) const
inline

Definition at line 117 of file sch_io_kicad_sexpr_parser.h.

References m_requiredVersion.

Referenced by SCH_IO_KICAD_SEXPR_LIB_CACHE::Load().

◆ GetParseWarnings()

const std::vector< wxString > & SCH_IO_KICAD_SEXPR_PARSER::GetParseWarnings ( ) const
inline

Return any non-fatal parse warnings that occurred during parsing.

These are errors that were handled gracefully but should be reported to the user.

Definition at line 123 of file sch_io_kicad_sexpr_parser.h.

References m_parseWarnings.

Referenced by SCH_IO_KICAD_SEXPR_LIB_CACHE::Load().

◆ parseBodyStyles()

void SCH_IO_KICAD_SEXPR_PARSER::parseBodyStyles ( std::unique_ptr< LIB_SYMBOL > & aSymbol)
private

Definition at line 950 of file sch_io_kicad_sexpr_parser.cpp.

References _, T, and THROW_PARSE_ERROR.

Referenced by parseLibSymbol().

◆ parseBool()

◆ parseBusAlias()

void SCH_IO_KICAD_SEXPR_PARSER::parseBusAlias ( SCH_SCREEN * aScreen)
private

◆ parseBusEntry()

SCH_BUS_WIRE_ENTRY * SCH_IO_KICAD_SEXPR_PARSER::parseBusEntry ( )
private

◆ parseEDA_TEXT()

◆ parseEllipseBody()

◆ parseFill()

◆ parseGroup()

◆ parseGroupMembers()

void SCH_IO_KICAD_SEXPR_PARSER::parseGroupMembers ( GROUP_INFO & aGroupInfo)
private

Definition at line 5545 of file sch_io_kicad_sexpr_parser.cpp.

References SCH_IO_KICAD_SEXPR_PARSER::GROUP_INFO::memberUuids, and T.

Referenced by parseGroup().

◆ parseHeader()

void SCH_IO_KICAD_SEXPR_PARSER::parseHeader ( TSCHEMATIC_T::T aHeaderType,
int aFileVersion )
private

Definition at line 925 of file sch_io_kicad_sexpr_parser.cpp.

References _, m_requiredVersion, parseInt(), T, and THROW_PARSE_ERROR.

Referenced by ParseLib(), and ParseSchematic().

◆ parseHex()

long SCH_IO_KICAD_SEXPR_PARSER::parseHex ( )
inlineprivate

Definition at line 175 of file sch_io_kicad_sexpr_parser.h.

◆ parseImage()

◆ parseInt() [1/2]

◆ parseInt() [2/2]

int SCH_IO_KICAD_SEXPR_PARSER::parseInt ( const char * aExpected)
inlineprivate

Definition at line 186 of file sch_io_kicad_sexpr_parser.h.

References parseInt().

◆ parseInternalUnits() [1/3]

◆ parseInternalUnits() [2/3]

int SCH_IO_KICAD_SEXPR_PARSER::parseInternalUnits ( const char * aExpected)
private

Definition at line 708 of file sch_io_kicad_sexpr_parser.cpp.

References KiROUND(), parseDouble(), and schIUScale.

◆ parseInternalUnits() [3/3]

int SCH_IO_KICAD_SEXPR_PARSER::parseInternalUnits ( TSCHEMATIC_T::T aToken)
inlineprivate

Definition at line 196 of file sch_io_kicad_sexpr_parser.h.

References parseInternalUnits().

◆ parseJunction()

SCH_JUNCTION * SCH_IO_KICAD_SEXPR_PARSER::parseJunction ( )
private

◆ parseKIID()

◆ ParseLib()

◆ parseLibSymbol()

◆ parseLine()

SCH_LINE * SCH_IO_KICAD_SEXPR_PARSER::parseLine ( )
private

◆ parseMargins()

void SCH_IO_KICAD_SEXPR_PARSER::parseMargins ( int & aLeft,
int & aTop,
int & aRight,
int & aBottom )
inlineprivate

Definition at line 237 of file sch_io_kicad_sexpr_parser.h.

References parseInternalUnits().

Referenced by parseSchTextBoxContent(), and parseSymbolTextBox().

◆ parseMaybeAbsentBool()

bool SCH_IO_KICAD_SEXPR_PARSER::parseMaybeAbsentBool ( bool aDefaultValue)
private

Parses a boolean flag inside a list that existed before boolean normalization.

For example, this will handle both (legacy_teardrops) and (legacy_teardrops yes). Call this after parsing the T_legacy_teardrops, and aDefaultValue will be returned for the first case, or true will be returned for the second case.

Parameters
aDefaultValuewill be returned if the end of the list is encountered as the next token
Returns
the parsed boolean

Definition at line 148 of file sch_io_kicad_sexpr_parser.cpp.

References DSN_RIGHT, and T.

Referenced by parseEDA_TEXT(), parseProperty(), parseSchematicSymbol(), parseSchField(), parseSchText(), and parseSheet().

◆ parseNoConnect()

SCH_NO_CONNECT * SCH_IO_KICAD_SEXPR_PARSER::parseNoConnect ( )
private

Definition at line 4176 of file sch_io_kicad_sexpr_parser.cpp.

References parseBool(), parseKIID(), parseXY(), and T.

Referenced by ParseSchematic().

◆ parsePAGE_INFO()

◆ parsePinNames()

void SCH_IO_KICAD_SEXPR_PARSER::parsePinNames ( std::unique_ptr< LIB_SYMBOL > & aSymbol)
private

(pin_names (offset 123) ; optional (hide yes/no) ; optional hide ; optional, pre-20241004 )

Definition at line 978 of file sch_io_kicad_sexpr_parser.cpp.

References parseBool(), parseInternalUnits(), and T.

Referenced by parseLibSymbol().

◆ parsePinNumbers()

void SCH_IO_KICAD_SEXPR_PARSER::parsePinNumbers ( std::unique_ptr< LIB_SYMBOL > & aSymbol)
private

(pin_numbers (hide yes/no) ; optional hide ; optional (pre-20241004) )

Definition at line 1026 of file sch_io_kicad_sexpr_parser.cpp.

References parseBool(), and T.

Referenced by parseLibSymbol().

◆ parseProperty()

SCH_FIELD * SCH_IO_KICAD_SEXPR_PARSER::parseProperty ( std::unique_ptr< LIB_SYMBOL > & aSymbol)
private

◆ parseSchArc()

◆ parseSchBezier()

◆ parseSchCircle()

◆ parseSchEllipse()

SCH_SHAPE * SCH_IO_KICAD_SEXPR_PARSER::parseSchEllipse ( )
private

Definition at line 4894 of file sch_io_kicad_sexpr_parser.cpp.

References ELLIPSE, and parseEllipseBody().

Referenced by ParseSchematic().

◆ parseSchEllipseArc()

SCH_SHAPE * SCH_IO_KICAD_SEXPR_PARSER::parseSchEllipseArc ( )
private

Definition at line 4905 of file sch_io_kicad_sexpr_parser.cpp.

References ELLIPSE_ARC, and parseEllipseBody().

Referenced by ParseSchematic().

◆ ParseSchematic()

void SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic ( SCH_SHEET * aSheet,
bool aIsCopyablyOnly = false,
int aFileVersion = SEXPR_SCHEMATIC_FILE_VERSION )

Parse the internal LINE_READER object into aSheet.

When aIsCopyableOnly is true, only schematic objects that are viewable on the canvas for copy and paste purposes are parsed. Other schematic content such as bus definitions or instance data will throw an IO_ERROR exception.

When aIsCopyableOnly is false, full schematic file parsing is performed.

Note
This does not load any sub-sheets or decent complex sheet hierarchies.
Parameters
aSheetThe SCH_SHEET object to store the parsed schematic file.
aIsCopyableOnlyLoad only the schematic objects that can be copied into aSheet if true. Otherwise, load the full schematic file format.
aFileVersionThe schematic file version to parser. Defaults to the schematic file being parsed when aIsCopyableOnly is false.

Definition at line 2769 of file sch_io_kicad_sexpr_parser.cpp.

References _, SCH_SCREEN::AddLibSymbol(), SCH_SCREEN::Append(), checkpoint(), SHAPE_LINE_CHAIN::CPoint(), DSN_EOF, DSN_LEFT, DSN_RIGHT, SCH_SCREEN::FixupEmbeddedData(), Fontconfig(), EDA_ITEM::GetParent(), EDA_SHAPE::GetPointCount(), EDA_SHAPE::GetPolyShape(), SCH_SHEET::GetScreen(), SCH_SHAPE::GetStroke(), SCH_SCREEN::GetUuid(), SCH_ITEM::IsLocked(), KI_FALLTHROUGH, LAYER_NOTES, m_generatorVersion, m_maxError, m_parseWarnings, m_requiredVersion, m_rootSheet, m_rootUuid, EDA_ITEM::m_Uuid, SCH_SCREEN::m_uuid, SHAPE_POLY_SET::Outline(), parseBool(), parseBusAlias(), parseBusEntry(), EMBEDDED_FILES_PARSER::ParseEmbedded(), parseGroup(), parseHeader(), parseImage(), parseJunction(), parseKIID(), parseLibSymbol(), parseLine(), parseNoConnect(), parsePAGE_INFO(), parseSchArc(), parseSchBezier(), parseSchCircle(), parseSchEllipse(), parseSchEllipseArc(), parseSchematicSymbol(), parseSchNetChain(), parseSchPolyLine(), parseSchRectangle(), parseSchRuleArea(), parseSchSheetInstances(), parseSchSymbolInstances(), parseSchTable(), parseSchText(), parseSchTextBox(), parseSheet(), parseTITLE_BLOCK(), Pgm(), resolveGroups(), SCH_SCREEN::Schematic(), SCH_LINE::SetEndPoint(), SCH_SCREEN::SetFileFormatVersionAtLoad(), SCH_SCREEN::SetLegacySymbolInstanceData(), SCH_ITEM::SetLocked(), SCH_SCREEN::SetPageSettings(), EDA_ITEM::SetParent(), SCH_LINE::SetStartPoint(), SCH_LINE::SetStroke(), SCH_SCREEN::SetTitleBlock(), SEXPR_SCHEMATIC_FILE_VERSION, T, THROW_PARSE_ERROR, SCH_SCREEN::UpdateLocalLibSymbolLinks(), and IO_ERROR::What().

Referenced by SCH_IO_KICAD_SEXPR::LoadContent(), SCH_IO_KICAD_SEXPR::loadFile(), KI_TEST::LoadSheetSchematicContents(), and KI_TEST::ReadSchematicFromStream().

◆ parseSchematicSymbol()

◆ parseSchField()

◆ parseSchNetChain()

void SCH_IO_KICAD_SEXPR_PARSER::parseSchNetChain ( )
private

◆ parseSchPolyLine()

◆ parseSchRectangle()

◆ parseSchRuleArea()

SCH_RULE_AREA * SCH_IO_KICAD_SEXPR_PARSER::parseSchRuleArea ( )
private

◆ parseSchSheetInstances()

◆ parseSchSheetPin()

SCH_SHEET_PIN * SCH_IO_KICAD_SEXPR_PARSER::parseSchSheetPin ( SCH_SHEET * aSheet)
private

◆ parseSchSymbolInstances()

◆ parseSchTable()

SCH_TABLE * SCH_IO_KICAD_SEXPR_PARSER::parseSchTable ( )
private

◆ parseSchTableCell()

SCH_TABLECELL * SCH_IO_KICAD_SEXPR_PARSER::parseSchTableCell ( )
private

Definition at line 5100 of file sch_io_kicad_sexpr_parser.cpp.

References parseSchTextBoxContent().

Referenced by parseSchTable().

◆ parseSchText()

◆ parseSchTextBox()

SCH_TEXTBOX * SCH_IO_KICAD_SEXPR_PARSER::parseSchTextBox ( )
private

Definition at line 5087 of file sch_io_kicad_sexpr_parser.cpp.

References parseSchTextBoxContent().

Referenced by ParseSchematic().

◆ parseSchTextBoxContent()

◆ parseSheet()

◆ parseStroke()

◆ ParseSymbol()

LIB_SYMBOL * SCH_IO_KICAD_SEXPR_PARSER::ParseSymbol ( LIB_SYMBOL_MAP & aSymbolLibMap,
int aFileVersion = SEXPR_SYMBOL_LIB_FILE_VERSION )

◆ parseSymbolArc()

◆ parseSymbolBezier()

SCH_SHAPE * SCH_IO_KICAD_SEXPR_PARSER::parseSymbolBezier ( )
private

◆ parseSymbolCircle()

◆ ParseSymbolDrawItem()

◆ parseSymbolEllipse()

SCH_SHAPE * SCH_IO_KICAD_SEXPR_PARSER::parseSymbolEllipse ( )
private

Definition at line 1606 of file sch_io_kicad_sexpr_parser.cpp.

References ELLIPSE, LAYER_DEVICE, m_bodyStyle, m_unit, parseEllipseBody(), and T.

Referenced by ParseSymbolDrawItem().

◆ parseSymbolEllipseArc()

SCH_SHAPE * SCH_IO_KICAD_SEXPR_PARSER::parseSymbolEllipseArc ( )
private

◆ parseSymbolPin()

◆ parseSymbolPolyLine()

SCH_SHAPE * SCH_IO_KICAD_SEXPR_PARSER::parseSymbolPolyLine ( )
private

◆ parseSymbolRectangle()

◆ parseSymbolText()

SCH_ITEM * SCH_IO_KICAD_SEXPR_PARSER::parseSymbolText ( )
private

◆ parseSymbolTextBox()

◆ parseTITLE_BLOCK()

void SCH_IO_KICAD_SEXPR_PARSER::parseTITLE_BLOCK ( TITLE_BLOCK & aTitleBlock)
private

◆ parseXY()

◆ resolveGroups()

void SCH_IO_KICAD_SEXPR_PARSER::resolveGroups ( SCH_SCREEN * aParent)
private

◆ skipToBlockEnd()

void SCH_IO_KICAD_SEXPR_PARSER::skipToBlockEnd ( int aDepth = 1)
private

Skip tokens until we reach the end of the current S-expression block.

This is used for error recovery when parsing fails mid-symbol. The parser will consume tokens until the matching closing parenthesis is found, allowing parsing to continue with the next symbol.

Parameters
aDepthThe initial nesting depth (1 = inside one open paren)

Definition at line 5705 of file sch_io_kicad_sexpr_parser.cpp.

References T.

Referenced by ParseLib().

Member Data Documentation

◆ m_appending

bool SCH_IO_KICAD_SEXPR_PARSER::m_appending
private

Appending load status.

Definition at line 317 of file sch_io_kicad_sexpr_parser.h.

Referenced by parseSchSheetInstances(), parseSchSymbolInstances(), and SCH_IO_KICAD_SEXPR_PARSER().

◆ m_bodyStyle

◆ m_generatorVersion

wxString SCH_IO_KICAD_SEXPR_PARSER::m_generatorVersion
private

Definition at line 313 of file sch_io_kicad_sexpr_parser.h.

Referenced by ParseLib(), and ParseSchematic().

◆ m_groupInfos

std::vector<GROUP_INFO> SCH_IO_KICAD_SEXPR_PARSER::m_groupInfos
private

Definition at line 334 of file sch_io_kicad_sexpr_parser.h.

Referenced by parseGroup(), and resolveGroups().

◆ m_lastProgressLine

unsigned SCH_IO_KICAD_SEXPR_PARSER::m_lastProgressLine
private

Definition at line 323 of file sch_io_kicad_sexpr_parser.h.

Referenced by checkpoint(), and SCH_IO_KICAD_SEXPR_PARSER().

◆ m_lineCount

unsigned SCH_IO_KICAD_SEXPR_PARSER::m_lineCount
private

Definition at line 324 of file sch_io_kicad_sexpr_parser.h.

Referenced by checkpoint(), and SCH_IO_KICAD_SEXPR_PARSER().

◆ m_lineReader

const LINE_READER* SCH_IO_KICAD_SEXPR_PARSER::m_lineReader
private

Definition at line 322 of file sch_io_kicad_sexpr_parser.h.

Referenced by checkpoint(), and SCH_IO_KICAD_SEXPR_PARSER().

◆ m_maxError

int SCH_IO_KICAD_SEXPR_PARSER::m_maxError
private

Max deviation allowed when approximating bezier curves.

Definition at line 332 of file sch_io_kicad_sexpr_parser.h.

Referenced by parseSchBezier(), ParseSchematic(), parseSymbolBezier(), and SCH_IO_KICAD_SEXPR_PARSER().

◆ m_netChainColors

std::map<wxString, COLOR4D> SCH_IO_KICAD_SEXPR_PARSER::m_netChainColors
private

Definition at line 339 of file sch_io_kicad_sexpr_parser.h.

Referenced by GetNetChainColors(), and parseSchNetChain().

◆ m_netChainMemberNets

std::map<wxString, std::set<wxString> > SCH_IO_KICAD_SEXPR_PARSER::m_netChainMemberNets
private

Definition at line 341 of file sch_io_kicad_sexpr_parser.h.

Referenced by GetNetChainMemberNets(), and parseSchNetChain().

◆ m_netChainNetClasses

std::map<wxString, wxString> SCH_IO_KICAD_SEXPR_PARSER::m_netChainNetClasses
private

Definition at line 338 of file sch_io_kicad_sexpr_parser.h.

Referenced by GetNetChainNetClasses(), and parseSchNetChain().

◆ m_netChainTerminalRefs

std::map<wxString, CHAIN_TERMINALS> SCH_IO_KICAD_SEXPR_PARSER::m_netChainTerminalRefs
private

Definition at line 340 of file sch_io_kicad_sexpr_parser.h.

Referenced by GetNetChainTerminalRefs(), and parseSchNetChain().

◆ m_parseWarnings

std::vector<wxString> SCH_IO_KICAD_SEXPR_PARSER::m_parseWarnings
private

Non-fatal warnings collected during parsing.

Definition at line 336 of file sch_io_kicad_sexpr_parser.h.

Referenced by GetParseWarnings(), ParseLib(), parseLibSymbol(), and ParseSchematic().

◆ m_progressReporter

PROGRESS_REPORTER* SCH_IO_KICAD_SEXPR_PARSER::m_progressReporter
private

Definition at line 321 of file sch_io_kicad_sexpr_parser.h.

Referenced by checkpoint(), and SCH_IO_KICAD_SEXPR_PARSER().

◆ m_requiredVersion

◆ m_rootSheet

SCH_SHEET* SCH_IO_KICAD_SEXPR_PARSER::m_rootSheet
private

The rootsheet for full project loads or null for importing a schematic.

Definition at line 329 of file sch_io_kicad_sexpr_parser.h.

Referenced by ParseSchematic(), and SCH_IO_KICAD_SEXPR_PARSER().

◆ m_rootUuid

KIID SCH_IO_KICAD_SEXPR_PARSER::m_rootUuid
private

◆ m_symbolName

wxString SCH_IO_KICAD_SEXPR_PARSER::m_symbolName
private

The current symbol name.

Definition at line 316 of file sch_io_kicad_sexpr_parser.h.

Referenced by parseLibSymbol().

◆ m_unit

◆ m_uuids

std::set<KIID> SCH_IO_KICAD_SEXPR_PARSER::m_uuids
private

Definition at line 319 of file sch_io_kicad_sexpr_parser.h.

Referenced by parseKIID().


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