KiCad PCB EDA Suite
CADSTAR_ARCHIVE_PARSER::SYMDEF Struct Referenceabstract

#include <cadstar_archive_parser.h>

Inheritance diagram for CADSTAR_ARCHIVE_PARSER::SYMDEF:
CADSTAR_ARCHIVE_PARSER::PARSER CADSTAR_PCB_ARCHIVE_PARSER::SYMDEF_PCB CADSTAR_SCH_ARCHIVE_PARSER::SYMDEF_SCM

Public Member Functions

void ParseIdentifiers (XNODE *aNode, PARSER_CONTEXT *aContext)
 
bool ParseSubNode (XNODE *aChildNode, PARSER_CONTEXT *aContext)
 
virtual void Parse (XNODE *aNode, PARSER_CONTEXT *aContext)=0
 

Public Attributes

SYMDEF_ID ID
 
wxString ReferenceName
 This is the name which identifies the symbol in the library Multiple components may exist with the same ReferenceName. More...
 
wxString Alternate
 This is in addition to ReferenceName. More...
 
POINT Origin
 Origin of the component (this is used as the reference point when placing the component in the design) More...
 
bool Stub = false
 When the CADSTAR Archive file is exported without the component library, if components on the board are still exported, the Reference and Alternate names will still be exported but the content is replaced with a "STUB" atom, requiring access to the original library for component definition. More...
 
long Version = UNDEFINED_VALUE
 Version is a sequential integer number to identify discrepancies between the library and the design. More...
 
std::map< FIGURE_ID, FIGUREFigures
 
std::map< TEXT_ID, TEXTTexts
 
std::map< ATTRIBUTE_ID, TEXT_LOCATIONTextLocations
 This contains location of any attributes, including designator position. More...
 
std::map< ATTRIBUTE_ID, ATTRIBUTE_VALUEAttributeValues
 These attributes might also have a location. More...
 

Detailed Description

Definition at line 931 of file cadstar_archive_parser.h.

Member Function Documentation

◆ Parse()

virtual void CADSTAR_ARCHIVE_PARSER::PARSER::Parse ( XNODE aNode,
PARSER_CONTEXT aContext 
)
pure virtualinherited

Implemented in CADSTAR_ARCHIVE_PARSER::FORMAT, CADSTAR_ARCHIVE_PARSER::TIMESTAMP, CADSTAR_ARCHIVE_PARSER::HEADER, CADSTAR_ARCHIVE_PARSER::VARIANT, CADSTAR_ARCHIVE_PARSER::VARIANT_HIERARCHY, CADSTAR_ARCHIVE_PARSER::LINECODE, CADSTAR_ARCHIVE_PARSER::HATCH, CADSTAR_ARCHIVE_PARSER::HATCHCODE, CADSTAR_ARCHIVE_PARSER::FONT, CADSTAR_ARCHIVE_PARSER::TEXTCODE, CADSTAR_ARCHIVE_PARSER::ROUTEREASSIGN, CADSTAR_ARCHIVE_PARSER::ROUTECODE, CADSTAR_ARCHIVE_PARSER::EVALUE, CADSTAR_ARCHIVE_PARSER::POINT, CADSTAR_ARCHIVE_PARSER::LONGPOINT, CADSTAR_ARCHIVE_PARSER::VERTEX, CADSTAR_ARCHIVE_PARSER::CUTOUT, CADSTAR_ARCHIVE_PARSER::SHAPE, CADSTAR_ARCHIVE_PARSER::GRID, CADSTAR_ARCHIVE_PARSER::GRIDS, CADSTAR_ARCHIVE_PARSER::SETTINGS, CADSTAR_ARCHIVE_PARSER::ATTRIBUTE_LOCATION, CADSTAR_ARCHIVE_PARSER::ATTRNAME::COLUMNORDER, CADSTAR_ARCHIVE_PARSER::ATTRNAME::COLUMNWIDTH, CADSTAR_ARCHIVE_PARSER::ATTRNAME, CADSTAR_ARCHIVE_PARSER::ATTRIBUTE_VALUE, CADSTAR_ARCHIVE_PARSER::TEXT_LOCATION, CADSTAR_ARCHIVE_PARSER::CADSTAR_NETCLASS, CADSTAR_ARCHIVE_PARSER::SPCCLASSNAME, CADSTAR_ARCHIVE_PARSER::REUSEBLOCK, CADSTAR_ARCHIVE_PARSER::REUSEBLOCKREF, CADSTAR_ARCHIVE_PARSER::GROUP, CADSTAR_ARCHIVE_PARSER::FIGURE, CADSTAR_ARCHIVE_PARSER::TEXT, CADSTAR_ARCHIVE_PARSER::PART::DEFINITION::GATE, CADSTAR_ARCHIVE_PARSER::PART::DEFINITION::PIN, CADSTAR_ARCHIVE_PARSER::PART::DEFINITION::PIN_EQUIVALENCE, CADSTAR_ARCHIVE_PARSER::PART::DEFINITION::SWAP_GATE, CADSTAR_ARCHIVE_PARSER::PART::DEFINITION::SWAP_GROUP, CADSTAR_ARCHIVE_PARSER::PART::DEFINITION, CADSTAR_ARCHIVE_PARSER::PART::PART_PIN, CADSTAR_ARCHIVE_PARSER::PART, CADSTAR_ARCHIVE_PARSER::PARTS, CADSTAR_ARCHIVE_PARSER::NET::JUNCTION, CADSTAR_ARCHIVE_PARSER::DOCUMENTATION_SYMBOL, CADSTAR_ARCHIVE_PARSER::DFLTSETTINGS, CADSTAR_ARCHIVE_PARSER::ATTRCOL, CADSTAR_ARCHIVE_PARSER::ATTRCOLORS, CADSTAR_ARCHIVE_PARSER::PARTNAMECOL, CADSTAR_SCH_ARCHIVE_PARSER::TERMINAL_SHAPE, CADSTAR_SCH_ARCHIVE_PARSER::TERMINALCODE, CADSTAR_SCH_ARCHIVE_PARSER::CODEDEFS_SCM, CADSTAR_SCH_ARCHIVE_PARSER::ASSIGNMENTS_SCM, CADSTAR_SCH_ARCHIVE_PARSER::TERMINAL, CADSTAR_SCH_ARCHIVE_PARSER::PIN_NUM_LABEL_LOC, CADSTAR_SCH_ARCHIVE_PARSER::SYMDEF_SCM, CADSTAR_SCH_ARCHIVE_PARSER::LIBRARY_SCM, CADSTAR_SCH_ARCHIVE_PARSER::SHEETS, CADSTAR_SCH_ARCHIVE_PARSER::COMP, CADSTAR_SCH_ARCHIVE_PARSER::PARTREF, CADSTAR_SCH_ARCHIVE_PARSER::TERMATTR, CADSTAR_SCH_ARCHIVE_PARSER::SYMPINNAME_LABEL, CADSTAR_SCH_ARCHIVE_PARSER::SYMBOLVARIANT, CADSTAR_SCH_ARCHIVE_PARSER::SIGNALREFERENCELINK, CADSTAR_SCH_ARCHIVE_PARSER::SYMBOL::PIN_NUM, CADSTAR_SCH_ARCHIVE_PARSER::SYMBOL, CADSTAR_SCH_ARCHIVE_PARSER::SIGLOC, CADSTAR_SCH_ARCHIVE_PARSER::BUS, CADSTAR_SCH_ARCHIVE_PARSER::BLOCK, CADSTAR_SCH_ARCHIVE_PARSER::NET_SCH::JUNCTION_SCH, CADSTAR_SCH_ARCHIVE_PARSER::NET_SCH::SYM_TERM, CADSTAR_SCH_ARCHIVE_PARSER::NET_SCH::BUS_TERM, CADSTAR_SCH_ARCHIVE_PARSER::NET_SCH::BLOCK_TERM, CADSTAR_SCH_ARCHIVE_PARSER::NET_SCH::DANGLER, CADSTAR_SCH_ARCHIVE_PARSER::NET_SCH::CONNECTION_SCH, CADSTAR_SCH_ARCHIVE_PARSER::NET_SCH, CADSTAR_SCH_ARCHIVE_PARSER::CADSTAR_SCHEMATIC, CADSTAR_PCB_ARCHIVE_PARSER::MATERIAL, CADSTAR_PCB_ARCHIVE_PARSER::LAYER, CADSTAR_PCB_ARCHIVE_PARSER::LAYERDEFS, CADSTAR_PCB_ARCHIVE_PARSER::COPREASSIGN, CADSTAR_PCB_ARCHIVE_PARSER::COPPERCODE, CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE::REASSIGN, CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE, CADSTAR_PCB_ARCHIVE_PARSER::CADSTAR_PAD_SHAPE, CADSTAR_PCB_ARCHIVE_PARSER::PADREASSIGN, CADSTAR_PCB_ARCHIVE_PARSER::PADCODE, CADSTAR_PCB_ARCHIVE_PARSER::VIAREASSIGN, CADSTAR_PCB_ARCHIVE_PARSER::VIACODE, CADSTAR_PCB_ARCHIVE_PARSER::LAYERPAIR, CADSTAR_PCB_ARCHIVE_PARSER::SPCCLASSSPACE, CADSTAR_PCB_ARCHIVE_PARSER::RULESET, CADSTAR_PCB_ARCHIVE_PARSER::CODEDEFS_PCB, CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION, CADSTAR_PCB_ARCHIVE_PARSER::ASSIGNMENTS, CADSTAR_PCB_ARCHIVE_PARSER::COMPONENT_COPPER, CADSTAR_PCB_ARCHIVE_PARSER::COMPONENT_AREA, CADSTAR_PCB_ARCHIVE_PARSER::PAD_EXITS, CADSTAR_PCB_ARCHIVE_PARSER::COMPONENT_PAD, CADSTAR_PCB_ARCHIVE_PARSER::DIMENSION::ARROW, CADSTAR_PCB_ARCHIVE_PARSER::DIMENSION::TEXTFORMAT, CADSTAR_PCB_ARCHIVE_PARSER::DIMENSION::EXTENSION_LINE, CADSTAR_PCB_ARCHIVE_PARSER::DIMENSION::LINE, CADSTAR_PCB_ARCHIVE_PARSER::DIMENSION, CADSTAR_PCB_ARCHIVE_PARSER::SYMDEF_PCB, CADSTAR_PCB_ARCHIVE_PARSER::LIBRARY, CADSTAR_PCB_ARCHIVE_PARSER::CADSTAR_BOARD, CADSTAR_PCB_ARCHIVE_PARSER::AREA, CADSTAR_PCB_ARCHIVE_PARSER::PIN_ATTRIBUTE, CADSTAR_PCB_ARCHIVE_PARSER::PADEXCEPTION, CADSTAR_PCB_ARCHIVE_PARSER::COMPONENT, CADSTAR_PCB_ARCHIVE_PARSER::TRUNK, CADSTAR_PCB_ARCHIVE_PARSER::NET_PCB::PIN, CADSTAR_PCB_ARCHIVE_PARSER::NET_PCB::JUNCTION_PCB, CADSTAR_PCB_ARCHIVE_PARSER::NET_PCB::VIA, CADSTAR_PCB_ARCHIVE_PARSER::NET_PCB::COPPER_TERMINAL, CADSTAR_PCB_ARCHIVE_PARSER::NET_PCB::ROUTE, CADSTAR_PCB_ARCHIVE_PARSER::NET_PCB::CONNECTION_PCB, CADSTAR_PCB_ARCHIVE_PARSER::NET_PCB, CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING, CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE, CADSTAR_PCB_ARCHIVE_PARSER::COPPER::NETREF::COPPER_TERM, CADSTAR_PCB_ARCHIVE_PARSER::COPPER::NETREF, CADSTAR_PCB_ARCHIVE_PARSER::COPPER, CADSTAR_PCB_ARCHIVE_PARSER::DRILL_TABLE, and CADSTAR_PCB_ARCHIVE_PARSER::LAYOUT.

◆ ParseIdentifiers()

void CADSTAR_ARCHIVE_PARSER::SYMDEF::ParseIdentifiers ( XNODE aNode,
PARSER_CONTEXT aContext 
)

Definition at line 1690 of file cadstar_archive_parser.cpp.

1691{
1692 wxASSERT( aNode->GetName() == wxT( "SYMDEF" ) );
1693
1694 ID = GetXmlAttributeIDString( aNode, 0 );
1696 Alternate = GetXmlAttributeIDString( aNode, 2 );
1697}
static wxString GetXmlAttributeIDString(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
wxString Alternate
This is in addition to ReferenceName.
wxString ReferenceName
This is the name which identifies the symbol in the library Multiple components may exist with the sa...

References CADSTAR_ARCHIVE_PARSER::GetXmlAttributeIDString().

◆ ParseSubNode()

bool CADSTAR_ARCHIVE_PARSER::SYMDEF::ParseSubNode ( XNODE aChildNode,
PARSER_CONTEXT aContext 
)

Definition at line 1700 of file cadstar_archive_parser.cpp.

1701{
1702 wxString cNodeName = aChildNode->GetName();
1703
1704 if( cNodeName == wxT( "PT" ) )
1705 {
1706 Origin.Parse( aChildNode, aContext );
1707 }
1708 else if( cNodeName == wxT( "STUB" ) )
1709 {
1710 Stub = true;
1711 }
1712 else if( cNodeName == wxT( "VERSION" ) )
1713 {
1714 Version = GetXmlAttributeIDLong( aChildNode, 0 );
1715 }
1716 else if( cNodeName == wxT( "FIGURE" ) )
1717 {
1718 FIGURE figure;
1719 figure.Parse( aChildNode, aContext );
1720 Figures.insert( std::make_pair( figure.ID, figure ) );
1721 }
1722 else if( cNodeName == wxT( "TEXT" ) )
1723 {
1724 TEXT txt;
1725 txt.Parse( aChildNode, aContext );
1726 Texts.insert( std::make_pair( txt.ID, txt ) );
1727 }
1728 else if( cNodeName == wxT( "TEXTLOC" ) )
1729 {
1730 TEXT_LOCATION textloc;
1731 textloc.Parse( aChildNode, aContext );
1732 TextLocations.insert( std::make_pair( textloc.AttributeID, textloc ) );
1733 }
1734 else if( cNodeName == wxT( "ATTR" ) )
1735 {
1736 ATTRIBUTE_VALUE attrVal;
1737 attrVal.Parse( aChildNode, aContext );
1738 AttributeValues.insert( std::make_pair( attrVal.AttributeID, attrVal ) );
1739 }
1740 else
1741 {
1742 return false;
1743 }
1744
1745 return true;
1746}
static long GetXmlAttributeIDLong(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
void Parse(XNODE *aNode, PARSER_CONTEXT *aContext) override
std::map< FIGURE_ID, FIGURE > Figures
std::map< ATTRIBUTE_ID, TEXT_LOCATION > TextLocations
This contains location of any attributes, including designator position.
POINT Origin
Origin of the component (this is used as the reference point when placing the component in the design...
bool Stub
When the CADSTAR Archive file is exported without the component library, if components on the board a...
std::map< ATTRIBUTE_ID, ATTRIBUTE_VALUE > AttributeValues
These attributes might also have a location.
long Version
Version is a sequential integer number to identify discrepancies between the library and the design.

References CADSTAR_ARCHIVE_PARSER::ATTRIBUTE_VALUE::AttributeID, CADSTAR_ARCHIVE_PARSER::TEXT_LOCATION::AttributeID, CADSTAR_ARCHIVE_PARSER::GetXmlAttributeIDLong(), CADSTAR_ARCHIVE_PARSER::FIGURE::ID, CADSTAR_ARCHIVE_PARSER::TEXT::ID, CADSTAR_ARCHIVE_PARSER::ATTRIBUTE_VALUE::Parse(), CADSTAR_ARCHIVE_PARSER::TEXT_LOCATION::Parse(), CADSTAR_ARCHIVE_PARSER::FIGURE::Parse(), and CADSTAR_ARCHIVE_PARSER::TEXT::Parse().

Member Data Documentation

◆ Alternate

◆ AttributeValues

std::map<ATTRIBUTE_ID, ATTRIBUTE_VALUE> CADSTAR_ARCHIVE_PARSER::SYMDEF::AttributeValues

These attributes might also have a location.

Definition at line 954 of file cadstar_archive_parser.h.

Referenced by CADSTAR_SCH_ARCHIVE_LOADER::loadSymDefIntoLibrary().

◆ Figures

◆ ID

◆ Origin

POINT CADSTAR_ARCHIVE_PARSER::SYMDEF::Origin

◆ ReferenceName

wxString CADSTAR_ARCHIVE_PARSER::SYMDEF::ReferenceName

◆ Stub

bool CADSTAR_ARCHIVE_PARSER::SYMDEF::Stub = false

When the CADSTAR Archive file is exported without the component library, if components on the board are still exported, the Reference and Alternate names will still be exported but the content is replaced with a "STUB" atom, requiring access to the original library for component definition.

Definition at line 940 of file cadstar_archive_parser.h.

◆ TextLocations

std::map<ATTRIBUTE_ID, TEXT_LOCATION> CADSTAR_ARCHIVE_PARSER::SYMDEF::TextLocations

This contains location of any attributes, including designator position.

Definition at line 951 of file cadstar_archive_parser.h.

Referenced by CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances(), and CADSTAR_SCH_ARCHIVE_LOADER::loadSymDefIntoLibrary().

◆ Texts

◆ Version

long CADSTAR_ARCHIVE_PARSER::SYMDEF::Version = UNDEFINED_VALUE

Version is a sequential integer number to identify discrepancies between the library and the design.

Definition at line 946 of file cadstar_archive_parser.h.


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