|
KiCad PCB EDA Suite
|
Read-only parser for the pre-v6 binary Eagle .brd format. More...
#include <eagle_bin_parser.h>
Classes | |
| struct | DRC_CTX |
| DRC values pulled from the trailing 244-byte block (or sane defaults). More... | |
| struct | EGB_NODE |
| Lightweight mutable tree node for the intermediate Eagle binary tree. More... | |
| struct | LONG_REF |
| A deferred string field, recorded by readBlock() for resolveLongPointers(). More... | |
Public Member Functions | |
| EAGLE_BIN_PARSER () | |
| ~EAGLE_BIN_PARSER () | |
| std::unique_ptr< wxXmlDocument > | Parse (const std::vector< uint8_t > &aBytes) |
| Parse a binary Eagle board into an XML DOM compatible with the XML walker. | |
Static Public Member Functions | |
| static bool | IsBinaryEagle (wxInputStream &aStream) |
| Probe the first two bytes for the binary magic without changing the stream position. | |
Private Member Functions | |
| int | readBlock (long &aNumBlocks, EGB_NODE *aParent) |
| bool | readNotes () |
| bool | readDrc (DRC_CTX &aDrc) |
| const wxString & | nextLongText () |
| void | resolveLongPointers () |
| std::vector< wxString > | matchLongRefsInRecordOrder () const |
| void | postProcess (EGB_NODE *aRoot, const DRC_CTX &aDrc) |
| void | postProcessSchematic (EGB_NODE *aRoot) |
| void | postprocRequiredAttrs (EGB_NODE *aRoot) |
| void | postprocSchAttrs (EGB_NODE *aRoot) |
| void | renameSchSections (EGB_NODE *aSchematic) |
| std::vector< EGB_NODE * > | resolveSchLibraries (EGB_NODE *aSchematic) |
| void | resolveSchConnects (EGB_NODE *aDeviceSet, const std::vector< EGB_NODE * > &aSymbols, const std::vector< EGB_NODE * > &aPackages) |
| void | resegmentSchSheets (EGB_NODE *aSchematic, const std::vector< EGB_NODE * > &aLibList) |
| void | postprocLayers (EGB_NODE *aDrawing, EGB_NODE *aLayers) |
| void | postprocDrc (EGB_NODE *aDrcNode, const DRC_CTX &aDrc) |
| void | postprocLibs (EGB_NODE *aLibraries) |
| void | postprocElements (EGB_NODE *aElements) |
| void | postprocAttributes (EGB_NODE *aRoot) |
| void | postprocNames (EGB_NODE *aLibraries, EGB_NODE *aElements) |
| void | postprocContactRefs (EGB_NODE *aSignals, EGB_NODE *aElements, EGB_NODE *aLibraries) |
| void | postprocWires (EGB_NODE *aRoot) |
| void | postprocArcs (EGB_NODE *aRoot) |
| void | postprocPolygons (EGB_NODE *aRoot) |
| void | postprocVias (EGB_NODE *aRoot) |
| void | postprocUnits (EGB_NODE *aRoot) |
| void | postprocCircles (EGB_NODE *aRoot) |
| void | postprocSmd (EGB_NODE *aRoot) |
| void | postprocPadShapes (EGB_NODE *aRoot) |
| void | postprocDimensions (EGB_NODE *aRoot) |
| void | postprocFreeText (EGB_NODE *aRoot) |
| void | postprocLongText (EGB_NODE *aRoot) |
| void | postprocTextContent (EGB_NODE *aRoot) |
| void | postprocRotation (EGB_NODE *aRoot) |
| void | postprocPins (EGB_NODE *aRoot) |
| bool | isRotatable (int aId) const |
| bool | isLongTextHost (int aId) const |
| void | arcDecode (EGB_NODE *aElem, int aArcType, int aLineType) |
| void | fixLongText (EGB_NODE *aNode, const wxString &aField) |
| wxXmlNode * | toXml (const EGB_NODE *aNode) const |
| void | requireBytes (size_t aOffs, size_t aLen) const |
| uint32_t | loadU32 (size_t aOffs, unsigned aLen) const |
| int32_t | loadS32 (size_t aOffs, unsigned aLen) const |
| bool | loadBmb (size_t aOffs, uint32_t aMask) const |
| uint32_t | loadUbf (size_t aOffs, uint32_t aField) const |
| wxString | loadStr (size_t aOffs, unsigned aLen) const |
| double | loadDouble (size_t aOffs) const |
Static Private Member Functions | |
| static std::vector< EGB_NODE * > | childrenById (EGB_NODE *aParent, int aChildId) |
| static wxString | nameByOrdinal (const std::vector< EGB_NODE * > &aList, long aIdx) |
Private Attributes | |
| const std::vector< uint8_t > * | m_buf = nullptr |
| file contents, not owned | |
| size_t | m_pos = 0 |
| current read cursor | |
| int | m_majorVer = 5 |
| format major version from the drawing header | |
| std::unique_ptr< EGB_NODE > | m_root |
| std::vector< wxString > | m_freeText |
| NUL-delimited notes strings. | |
| size_t | m_freeTextCursor = 0 |
| wxString | m_invalidText |
| returned when out of strings | |
| std::vector< LONG_REF > | m_longRefs |
Read-only parser for the pre-v6 binary Eagle .brd format.
Eagle stored boards in a flat stream of fixed 24-byte records before the XML era (versions 6+). The binary is decoded into a node tree structurally identical to the Eagle XML DOM, then fed to the same XML tree-walker, so KiCad's existing PCB_IO_EAGLE::loadAllSections() can consume the result unchanged.
There is no separate binary-to-board mapping. The binary is parsed into a generic intermediate tree (EGB_NODE), rewritten in place by a series of post-processing passes so its element names and attribute names match the XML schema, and finally emitted as a wxXmlDocument.
Definition at line 58 of file eagle_bin_parser.h.
|
default |
|
default |
|
private |
Definition at line 1365 of file eagle_bin_parser.cpp.
References std::abs(), EAGLE_BIN_PARSER::EGB_NODE::HasProp(), M_PI, EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), EAGLE_BIN_PARSER::EGB_NODE::props, and radius.
Referenced by postprocArcs(), and postprocWires().
|
staticprivate |
Definition at line 2606 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children.
Referenced by resegmentSchSheets(), resolveSchConnects(), and resolveSchLibraries().
|
private |
Definition at line 1349 of file eagle_bin_parser.cpp.
References nextLongText(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postprocFreeText().
|
static |
Probe the first two bytes for the binary magic without changing the stream position.
Definition at line 901 of file eagle_bin_parser.cpp.
Referenced by PCB_IO_EAGLE::checkHeader(), SCH_IO_EAGLE::checkHeader(), PCB_IO_EAGLE::loadBoard(), and SCH_IO_EAGLE::loadXmlDocument().
|
private |
Definition at line 2013 of file eagle_bin_parser.cpp.
References EGKW_SECT_ATTRIBUTE, EGKW_SECT_NETBUSLABEL, EGKW_SECT_SMASHEDGATE, EGKW_SECT_SMASHEDNAME, EGKW_SECT_SMASHEDPART, EGKW_SECT_SMASHEDVALUE, EGKW_SECT_SMASHEDXREF, and EGKW_SECT_TEXT.
Referenced by postprocLongText(), and postprocTextContent().
|
private |
Definition at line 1827 of file eagle_bin_parser.cpp.
References EGKW_SECT_ATTRIBUTE, EGKW_SECT_ELEMENT, EGKW_SECT_INSTANCE, EGKW_SECT_NETBUSLABEL, EGKW_SECT_PAD, EGKW_SECT_PIN, EGKW_SECT_RECTANGLE, EGKW_SECT_SMASHEDGATE, EGKW_SECT_SMASHEDNAME, EGKW_SECT_SMASHEDPART, EGKW_SECT_SMASHEDVALUE, EGKW_SECT_SMASHEDXREF, EGKW_SECT_SMD, and EGKW_SECT_TEXT.
Referenced by postprocRotation().
|
private |
Definition at line 968 of file eagle_bin_parser.cpp.
References m_buf, and requireBytes().
Referenced by readBlock().
|
private |
Definition at line 1007 of file eagle_bin_parser.cpp.
References m_buf, and requireBytes().
Referenced by readBlock(), and readDrc().
|
private |
Definition at line 949 of file eagle_bin_parser.cpp.
References m_buf, and requireBytes().
Referenced by Parse(), readBlock(), and readDrc().
|
private |
Definition at line 990 of file eagle_bin_parser.cpp.
References m_buf, and requireBytes().
Referenced by readBlock().
|
private |
Definition at line 933 of file eagle_bin_parser.cpp.
References requireBytes().
Referenced by loadUbf(), readBlock(), and readNotes().
|
private |
Definition at line 976 of file eagle_bin_parser.cpp.
References loadU32().
Referenced by readBlock().
|
private |
Definition at line 1243 of file eagle_bin_parser.cpp.
References end, m_freeText, m_longRefs, and traceEagleIo.
Referenced by resolveLongPointers().
|
staticprivate |
Definition at line 2623 of file eagle_bin_parser.cpp.
Referenced by resegmentSchSheets(), and resolveSchLibraries().
|
private |
Definition at line 1230 of file eagle_bin_parser.cpp.
References m_freeText, m_freeTextCursor, m_invalidText, and traceEagleIo.
Referenced by fixLongText().
| std::unique_ptr< wxXmlDocument > EAGLE_BIN_PARSER::Parse | ( | const std::vector< uint8_t > & | aBytes | ) |
Parse a binary Eagle board into an XML DOM compatible with the XML walker.
| aBytes | is the entire file content. |
Definition at line 2496 of file eagle_bin_parser.cpp.
References _, drc, EGKW_SECT_SCHEMA, EAGLE_BIN_PARSER::EGB_NODE::FindChildById(), EAGLE_BIN_PARSER::EGB_NODE::HasProp(), loadS32(), m_buf, m_longRefs, m_majorVer, m_pos, m_root, postProcess(), postProcessSchematic(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), readBlock(), readDrc(), readNotes(), resolveLongPointers(), THROW_IO_ERROR, toXml(), v1, and v2.
Referenced by PCB_IO_EAGLE::loadBoard(), and SCH_IO_EAGLE::loadXmlDocument().
|
private |
Definition at line 1616 of file eagle_bin_parser.cpp.
References arcDecode(), EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_ARC, EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, postprocArcs(), EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::PropDoubled(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postprocArcs(), postProcess(), and postProcessSchematic().
|
private |
Definition at line 2453 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_ATTRIBUTE, and postprocAttributes().
Referenced by postprocAttributes(), and postProcess().
|
private |
Definition at line 1741 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_CIRCLE, EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, postprocCircles(), EAGLE_BIN_PARSER::EGB_NODE::PropDoubled(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postprocCircles(), postProcess(), and postProcessSchematic().
|
private |
Definition at line 2286 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_CONTACTREF, EGKW_SECT_PACKAGES, EGKW_SECT_PAD, EGKW_SECT_PIN, EGKW_SECT_SMD, EAGLE_BIN_PARSER::EGB_NODE::FindChildById(), EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess().
|
private |
Definition at line 1801 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_HOLE, EGKW_SECT_PAD, EGKW_SECT_TEXT, EGKW_SECT_VIA, EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, postprocDimensions(), EAGLE_BIN_PARSER::EGB_NODE::PropDoubled(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postprocDimensions(), and postProcess().
Definition at line 2107 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::AddChild(), EGKW_SECT_DRC, EAGLE_BIN_PARSER::DRC_CTX::mdWireWire, EAGLE_BIN_PARSER::DRC_CTX::msWidth, EAGLE_BIN_PARSER::EGB_NODE::props, EAGLE_BIN_PARSER::DRC_CTX::rvPadBottom, EAGLE_BIN_PARSER::DRC_CTX::rvPadInner, and EAGLE_BIN_PARSER::DRC_CTX::rvPadTop.
Referenced by postProcess().
|
private |
Definition at line 2156 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, and EGKW_SECT_ELEMENT2.
Referenced by postProcess().
Definition at line 2375 of file eagle_bin_parser.cpp.
References _, EAGLE_BIN_PARSER::EGB_NODE::AddChild(), EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_BOARD, EGKW_SECT_DRC, EGKW_SECT_LAYERS, EAGLE_BIN_PARSER::EGB_NODE::FindChildById(), EAGLE_BIN_PARSER::EGB_NODE::FindChildByName(), postprocArcs(), postprocAttributes(), postprocCircles(), postprocContactRefs(), postprocDimensions(), postprocDrc(), postprocElements(), postprocFreeText(), postprocLayers(), postprocLibs(), postprocLongText(), postprocNames(), postprocPadShapes(), postprocPolygons(), postprocRequiredAttrs(), postprocRotation(), postprocSmd(), postprocTextContent(), postprocUnits(), postprocVias(), postprocWires(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 2562 of file eagle_bin_parser.cpp.
References _, EAGLE_BIN_PARSER::EGB_NODE::AddChild(), EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_LAYERS, EGKW_SECT_SCHEMA, EAGLE_BIN_PARSER::EGB_NODE::FindChildById(), EAGLE_BIN_PARSER::EGB_NODE::name, postprocArcs(), postprocCircles(), postprocFreeText(), postprocLayers(), postprocLongText(), postprocPins(), postprocPolygons(), postprocRequiredAttrs(), postprocRotation(), postprocSchAttrs(), postprocTextContent(), postprocUnits(), postprocWires(), renameSchSections(), resegmentSchSheets(), resolveSchLibraries(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1937 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_ATTRIBUTE, EGKW_SECT_ATTRIBUTEVALUE, EGKW_SECT_DEVICE, EGKW_SECT_DEVICES, EGKW_SECT_ELEMENT2, EGKW_SECT_GATE, EGKW_SECT_LAYER, EGKW_SECT_LIBRARY, EGKW_SECT_NETBUSLABEL, EGKW_SECT_PACKAGE, EGKW_SECT_PACKAGES, EGKW_SECT_PACKAGEVARIANT, EGKW_SECT_PAD, EGKW_SECT_PART, EGKW_SECT_PIN, EGKW_SECT_SCHEMA, EGKW_SECT_SCHEMABUS, EGKW_SECT_SCHEMANET, EGKW_SECT_SIGNAL, EGKW_SECT_SMASHEDGATE, EGKW_SECT_SMASHEDNAME, EGKW_SECT_SMASHEDPART, EGKW_SECT_SMASHEDVALUE, EGKW_SECT_SMASHEDXREF, EGKW_SECT_SMD, EGKW_SECT_SYMBOL, EGKW_SECT_SYMBOLS, EGKW_SECT_TEXT, fixLongText(), EAGLE_BIN_PARSER::EGB_NODE::id, postprocFreeText(), EAGLE_BIN_PARSER::EGB_NODE::Prop(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), postProcessSchematic(), and postprocFreeText().
Definition at line 2077 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, and EGKW_SECT_LAYER.
Referenced by postProcess(), and postProcessSchematic().
|
private |
Definition at line 2124 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_LIBRARY, EGKW_SECT_PACKAGES, EAGLE_BIN_PARSER::EGB_NODE::FindChildById(), and EAGLE_BIN_PARSER::EGB_NODE::parent.
Referenced by postProcess().
|
private |
Definition at line 2030 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_LONGTEXT, isLongTextHost(), postprocLongText(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), postProcessSchematic(), and postprocLongText().
Definition at line 2192 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_ELEMENT, EGKW_SECT_LIBRARY, EGKW_SECT_PACKAGES, EAGLE_BIN_PARSER::EGB_NODE::FindChildById(), EAGLE_BIN_PARSER::EGB_NODE::id, name, EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess().
|
private |
Definition at line 1773 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_PAD, EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, postprocPadShapes(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), and postprocPadShapes().
|
private |
Definition at line 1900 of file eagle_bin_parser.cpp.
References EGKW_SECT_PIN, EAGLE_BIN_PARSER::EGB_NODE::ForEach(), EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcessSchematic().
|
private |
Definition at line 1653 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_LINE, EGKW_SECT_POLYGON, EAGLE_BIN_PARSER::EGB_NODE::id, postprocPolygons(), EAGLE_BIN_PARSER::EGB_NODE::PropDoubled(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), postProcessSchematic(), and postprocPolygons().
|
private |
Definition at line 2633 of file eagle_bin_parser.cpp.
References EGKW_SECT_FRAME, EAGLE_BIN_PARSER::EGB_NODE::ForEach(), EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, EAGLE_BIN_PARSER::EGB_NODE::Prop(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), and postProcessSchematic().
|
private |
Definition at line 1850 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_INSTANCE, EGKW_SECT_PIN, EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, isRotatable(), postprocRotation(), EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), postProcessSchematic(), and postprocRotation().
|
private |
Definition at line 2648 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::content, EGKW_SECT_ATTRIBUTE, EGKW_SECT_NETBUSLABEL, EGKW_SECT_SMASHEDNAME, EGKW_SECT_SMASHEDVALUE, EGKW_SECT_SMASHEDXREF, EGKW_SECT_TEXT, EAGLE_BIN_PARSER::EGB_NODE::ForEach(), EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::PropDoubled(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcessSchematic().
|
private |
Definition at line 1753 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_SMD, EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, postprocSmd(), EAGLE_BIN_PARSER::EGB_NODE::PropDoubled(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), and postprocSmd().
|
private |
Definition at line 2065 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EAGLE_BIN_PARSER::EGB_NODE::content, EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, isLongTextHost(), postprocTextContent(), and EAGLE_BIN_PARSER::EGB_NODE::Prop().
Referenced by postProcess(), postProcessSchematic(), and postprocTextContent().
|
private |
Definition at line 1711 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, postprocUnits(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), postProcessSchematic(), and postprocUnits().
|
private |
Definition at line 1696 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_VIA, EAGLE_BIN_PARSER::EGB_NODE::id, postprocVias(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), and postprocVias().
|
private |
Definition at line 1581 of file eagle_bin_parser.cpp.
References arcDecode(), EAGLE_BIN_PARSER::EGB_NODE::children, EGKW_SECT_LINE, EAGLE_BIN_PARSER::EGB_NODE::HasProp(), EAGLE_BIN_PARSER::EGB_NODE::id, postprocWires(), EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::PropDoubled(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcess(), postProcessSchematic(), and postprocWires().
|
private |
Definition at line 1028 of file eagle_bin_parser.cpp.
References _, EAGLE_BIN_PARSER::EGB_NODE::AddChild(), loadBmb(), loadDouble(), loadS32(), loadStr(), loadU32(), loadUbf(), m_buf, m_longRefs, m_majorVer, m_pos, EAGLE_BIN_PARSER::EGB_NODE::props, readBlock(), requireBytes(), res, THROW_IO_ERROR, and THROW_IO_ERRORF.
Referenced by Parse(), and readBlock().
|
private |
Definition at line 1286 of file eagle_bin_parser.cpp.
References loadDouble(), loadS32(), m_buf, m_pos, EAGLE_BIN_PARSER::DRC_CTX::mdWireWire, EAGLE_BIN_PARSER::DRC_CTX::msWidth, EAGLE_BIN_PARSER::DRC_CTX::rvPadBottom, EAGLE_BIN_PARSER::DRC_CTX::rvPadInner, and EAGLE_BIN_PARSER::DRC_CTX::rvPadTop.
Referenced by Parse().
|
private |
Definition at line 1186 of file eagle_bin_parser.cpp.
References end, loadU32(), m_buf, m_freeText, m_freeTextCursor, and m_pos.
Referenced by Parse().
|
private |
Definition at line 2693 of file eagle_bin_parser.cpp.
References EGKW_SECT_DEVICE, EGKW_SECT_DEVICES, EGKW_SECT_NETBUSLABEL, EGKW_SECT_PACKAGEVARIANT, EGKW_SECT_SCHEMANET, EGKW_SECT_SCHEMASHEET, EAGLE_BIN_PARSER::EGB_NODE::ForEach(), EAGLE_BIN_PARSER::EGB_NODE::id, and EAGLE_BIN_PARSER::EGB_NODE::name.
Referenced by postProcessSchematic().
|
private |
Definition at line 926 of file eagle_bin_parser.cpp.
References _, m_buf, and THROW_IO_ERROR.
Referenced by loadBmb(), loadDouble(), loadS32(), loadStr(), loadU32(), and readBlock().
|
private |
Definition at line 2948 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::AddChild(), EAGLE_BIN_PARSER::EGB_NODE::AdoptChild(), EAGLE_BIN_PARSER::EGB_NODE::children, childrenById(), drawable(), EGKW_SECT_DEVICE, EGKW_SECT_DEVICES, EGKW_SECT_GATE, EGKW_SECT_INSTANCE, EGKW_SECT_PACKAGEVARIANT, EGKW_SECT_PART, EGKW_SECT_PATH, EGKW_SECT_SCHEMABUS, EGKW_SECT_SCHEMANET, EGKW_SECT_SCHEMASHEET, EAGLE_BIN_PARSER::EGB_NODE::FindChildById(), EAGLE_BIN_PARSER::EGB_NODE::FindChildByName(), nameByOrdinal(), EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::PropLong(), and EAGLE_BIN_PARSER::EGB_NODE::props.
Referenced by postProcessSchematic().
|
private |
Definition at line 1273 of file eagle_bin_parser.cpp.
References m_longRefs, and matchLongRefsInRecordOrder().
Referenced by Parse().
|
private |
Definition at line 2826 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::AddChild(), bytes(), childrenById(), EGKW_SECT_GATE, EGKW_SECT_PACKAGEVARIANT, EGKW_SECT_PIN, EGKW_SECT_VARIANTCONNECTIONS, EAGLE_BIN_PARSER::EGB_NODE::FindChildByName(), pad, pin, EAGLE_BIN_PARSER::EGB_NODE::PropLong(), EAGLE_BIN_PARSER::EGB_NODE::props, and traceEagleIo.
Referenced by resolveSchLibraries().
|
private |
Definition at line 2720 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::AddChild(), EAGLE_BIN_PARSER::EGB_NODE::AdoptChild(), EAGLE_BIN_PARSER::EGB_NODE::children, childrenById(), EGKW_SECT_DEVICE, EGKW_SECT_DEVICES, EGKW_SECT_GATE, EGKW_SECT_LIBRARY, EGKW_SECT_PACKAGE, EGKW_SECT_PACKAGES, EGKW_SECT_SYMBOL, EGKW_SECT_SYMBOLS, EAGLE_BIN_PARSER::EGB_NODE::FindChildById(), EAGLE_BIN_PARSER::EGB_NODE::FindChildByName(), EAGLE_BIN_PARSER::EGB_NODE::id, moved, name, nameByOrdinal(), EAGLE_BIN_PARSER::EGB_NODE::Prop(), EAGLE_BIN_PARSER::EGB_NODE::props, and resolveSchConnects().
Referenced by postProcessSchematic().
|
private |
Definition at line 2477 of file eagle_bin_parser.cpp.
References EAGLE_BIN_PARSER::EGB_NODE::children, EAGLE_BIN_PARSER::EGB_NODE::content, EAGLE_BIN_PARSER::EGB_NODE::name, EAGLE_BIN_PARSER::EGB_NODE::props, and toXml().
|
private |
file contents, not owned
Definition at line 196 of file eagle_bin_parser.h.
Referenced by loadBmb(), loadDouble(), loadS32(), loadStr(), Parse(), readBlock(), readDrc(), readNotes(), and requireBytes().
|
private |
NUL-delimited notes strings.
Definition at line 202 of file eagle_bin_parser.h.
Referenced by matchLongRefsInRecordOrder(), nextLongText(), and readNotes().
|
private |
Definition at line 203 of file eagle_bin_parser.h.
Referenced by nextLongText(), and readNotes().
|
private |
returned when out of strings
Definition at line 204 of file eagle_bin_parser.h.
Referenced by nextLongText().
|
private |
Definition at line 213 of file eagle_bin_parser.h.
Referenced by matchLongRefsInRecordOrder(), Parse(), readBlock(), and resolveLongPointers().
|
private |
format major version from the drawing header
Definition at line 198 of file eagle_bin_parser.h.
Referenced by Parse(), and readBlock().
|
private |
current read cursor
Definition at line 197 of file eagle_bin_parser.h.
Referenced by Parse(), readBlock(), readDrc(), and readNotes().
|
private |
Definition at line 200 of file eagle_bin_parser.h.
Referenced by Parse().