26#ifndef CADSTAR_SCH_ARCHIVE_PARSER_H_ 
   27#define CADSTAR_SCH_ARCHIVE_PARSER_H_ 
  445        std::map<NET_ID, NET_SCH>                               
Nets;
 
 
 
Helper functions and common defines between schematic and PCB Archive files.
 
READABILITY
Sets the readability direction of text.
 
@ BOTTOM_TO_TOP
When text is vertical, show it rotated 90 degrees anticlockwise.
 
long TERMINAL_ID
Terminal is the pin identifier in the schematic.
 
static const long UNDEFINED_VALUE
 
wxString LAYER_ID
ID of a Sheet (if schematic) or board Layer (if PCB)
 
ASSIGNMENTS_SCM Assignments
 
CADSTAR_SCHEMATIC Schematic
 
@ UNDEFINED
Only used for error checking (not a real shape)
 
@ ROUNDED_RECT
Keyword "ROUNDED".
 
CADSTAR_SCH_ARCHIVE_PARSER(const wxString &aFilename)
 
int KiCadUnitDivider
Use this value to convert units in this CSA file to KiCad units.
 
PARTNAMECOL SymbolPartNameColor
 
virtual ~CADSTAR_SCH_ARCHIVE_PARSER()
 
static TERMINAL_SHAPE_TYPE ParseTermShapeType(const wxString &aShapeStr)
 
void Parse()
Parses the file.
 
An extension of wxXmlNode that can format its contents as KiCad-style s-expressions.
 
Represent a point in x,y coordinates.
 
References an element from a design reuse block.
 
bool NetclassEditAttributeSettings
 
bool SpacingclassEditAttributeSettings
 
@ CLONE
the block is referring to the sheet it is on.
 
TYPE Type
Determines what the associated layer is, whether parent, child or clone.
 
ATTRIBUTE_LOCATION BlockLabel
 
LAYER_ID LayerID
The sheet block is on (TODO: verify this is true)
 
LAYER_ID AssocLayerID
Parent or Child linked sheet.
 
std::map< TERMINAL_ID, TERMINAL > Terminals
 
std::map< FIGURE_ID, FIGURE > Figures
 
LAYER_ID LayerID
Sheet on which bus is located.
 
std::map< SYMBOL_ID, SYMBOL > Symbols
 
std::map< REUSEBLOCK_ID, REUSEBLOCK > ReuseBlocks
 
VARIANT_HIERARCHY VariantHierarchy
 
std::map< DOCUMENTATION_SYMBOL_ID, DOCUMENTATION_SYMBOL > DocumentationSymbols
 
std::map< FIGURE_ID, FIGURE > Figures
 
std::map< TEXT_ID, TEXT > Texts
 
std::map< BLOCK_ID, BLOCK > Blocks
 
std::map< BUS_ID, BUS > Buses
 
std::map< GROUP_ID, GROUP > Groups
 
std::map< NET_ID, NET_SCH > Nets
 
std::map< ATTRIBUTE_ID, ATTRIBUTE_VALUE > AttributeValues
 
std::map< TERMINALCODE_ID, TERMINALCODE > TerminalCodes
 
ATTRIBUTE_LOCATION AttrLoc
 
std::map< SYMDEF_ID, SYMDEF_SCM > SymbolDefinitions
 
< "BLOCKTERM" nodename (represents a connection to a block)
 
NETELEMENT_ID ID
First four characters "BLKT".
 
< "BUSTERM" nodename (represents a connection to a bus)
 
POINT FirstPoint
Point on the bus itself.
 
NETELEMENT_ID ID
First two characters "BT".
 
POINT SecondPoint
Start point for any wires.
 
LAYER_ID LayerID
Sheet on which the connection is drawn.
 
LINECODE_ID ConnectionLineCode
 
std::vector< POINT > Path
 
REUSEBLOCKREF ReuseBlockRef
 
< "DANGLER" nodename (represents a dangling wire)
 
NETELEMENT_ID ID
First character "D".
 
TERMINALCODE_ID TerminalCodeID
 
TERMINALCODE_ID TerminalCodeID
Usually a circle, but size can be varied.
 
< "TERM" nodename (represents a pin in a SCH symbol)
 
NETELEMENT_ID ID
First character is "P".
 
std::map< NETELEMENT_ID, DANGLER > Danglers
 
std::map< NETELEMENT_ID, SYM_TERM > Terminals
 
std::vector< CONNECTION_SCH > Connections
 
std::map< NETELEMENT_ID, BUS_TERM > BusTerminals
 
std::map< NETELEMENT_ID, BLOCK_TERM > BlockTerminals
 
std::map< NETELEMENT_ID, JUNCTION_SCH > Junctions
 
ATTRIBUTE_LOCATION AttrLoc
 
std::vector< LAYER_ID > SheetOrder
A vector to also store the order in which sheets are to be displayed.
 
std::map< LAYER_ID, SHEET_NAME > SheetNames
 
Net name or bus name label.
 
wxString Text
This contains the numbers of the other sheets where the signal reference is present separated by comm...
 
ATTRIBUTE_LOCATION AttrLoc
 
REUSEBLOCKREF ReuseBlockRef
 
GROUP_ID GroupID
If not empty, this symbol is part of a group.
 
LAYER_ID LayerID
Sheet on which symbol is located.
 
SYMBOL_ID VariantParentSymbolID
 
std::map< ATTRIBUTE_ID, ATTRIBUTE_VALUE > AttributeValues
 
GATE_ID GateID
The gate this symbol represents within the associated Part.
 
long ScaleRatioNumerator
Symbols can be arbitrarily scaled in CADSTAR.
 
SIGNALREFERENCELINK SigRefLink
Signal References (a special form of global signal) have annotations showing the location of all the ...
 
std::map< TERMINAL_ID, SYMPINNAME_LABEL > PinNames
Identifier of the pin in the PCB Equivalent to KiCad's Pin Number.
 
std::map< TERMINAL_ID, SYMPINNAME_LABEL > PinLabels
Equivalent to KiCad's Pin Name.
 
std::map< TERMINAL_ID, PIN_NUM > PinNumbers
This seems to only appear in older designs and is similar to PinNames but only allowing numerical val...
 
long ScaleRatioDenominator
 
std::map< TERMINAL_ID, TERMATTR > TerminalAttributes
 
SYMBOLVARIANT SymbolVariant
 
std::map< TERMINAL_ID, PIN_NUM_LABEL_LOC > PinLabelLocations
 
std::map< TERMINAL_ID, PIN_NUM_LABEL_LOC > PinNumberLocations
 
std::map< TERMINAL_ID, TERMINAL > Terminals
 
ATTRIBUTE_LOCATION AttrLoc
 
std::vector< ATTRIBUTE_VALUE > Attributes
 
long LeftLength
Might also be total length.
 
long RightLength
Could be blank.
 
TERMINAL_SHAPE_TYPE ShapeType
 
long OrientAngle
1/1000 of a Degree
 
static bool IsTermShape(XNODE *aNode)
 
TERMINALCODE_ID TerminalCodeID
 
POINT Position
Pad position within the component's coordinate frame.