21#ifndef CADSTAR_PARTS_LIB_MODEL_H
22#define CADSTAR_PARTS_LIB_MODEL_H
186 std::optional<long> aLoading ) :
205 std::vector<CADSTAR_PART_PIN> aPins ) :
CADSTAR_PIN_POSITION
Positioning of pin names can be in one of four quadrants.
CADSTAR_PIN_TYPE
file: cadstar_archive_objects.h Contains common object definitions
@ UNCOMMITTED
Uncommitted pin (default)
CADSTAR Parts Library (*.lib) model - a data structure describing the contents of the file format.
std::optional< long > m_FormatNumber
std::map< long, CADSTAR_PART_NODE > m_HierarchyNodes
std::vector< CADSTAR_PART_ENTRY > m_PartEntries
std::string m_ComponentStem
std::vector< CADSTAR_SWAP_GROUP > m_InternalSwapGroup
Groups of INTERNAL gates that are interchangeable with each other.
std::map< std::string, std::vector< CADSTAR_PART_PIN > > m_HiddenPins
Pins with an implied electrical connection to a net, not part of any symbol (Note: we probably will n...
bool m_GateSwappingAllowed
std::map< std::string, CADSTAR_ATTRIBUTE_VALUE > m_SchAttributes
Dollar sign ($) line $[!]<SCM Attribute name>(<Attribute value>) Attributes related to the schematic ...
std::vector< std::vector< long > > m_PinEquivalences
Groups of pins that are interchangeable with each other.
std::map< std::string, CADSTAR_ATTRIBUTE_VALUE > m_SchAndPcbAttributes
At symbol (@) line [@[!]<SCM/PCB Attribute name>(<Attribute value>)] Attributes related to the PCB co...
std::vector< CADSTAR_SWAP_GROUP > m_ExternalSwapGroup
Groups of EXTERNAL gates that are interchangeable with each other.
std::vector< CADSTAR_PART_SYMBOL_ENTRY > m_Symbols
Symbols that form this part.
std::map< std::string, std::string > m_UserAttributes
Star (*) line *<User-defined name> This line is ignored by CADSTAR.
std::map< long, std::string > m_PinNamesMap
Map of pin identifiers to alphanumeric pin names Pin names can be a maximum of 10 characters (Typical...
std::optional< std::string > m_AcceptancePartName
std::optional< std::string > m_Pcb_alternate
std::optional< std::string > m_Version
std::optional< std::string > m_SpicePartName
std::optional< std::string > m_Description
std::optional< std::string > m_Number
std::string m_Pcb_component
std::optional< std::string > m_SpiceModel
std::optional< long > m_MaxPinCount
std::optional< std::string > m_AcceptanceText
std::optional< std::string > m_PartDefinitionName
std::map< std::string, CADSTAR_ATTRIBUTE_VALUE > m_PcbAttributes
Percentage sign (%) line %[!]<PCB Attribute name>(<Attribute value>) Attributes related to the PCB co...
std::optional< std::string > m_Value
std::map< std::string, CADSTAR_ATTRIBUTE_VALUE > m_PartAttributes
Tilde (~) line ~[!]<Parts Library Attribute Name>(<Attribute Value>) Attributes related to the Part i...
std::map< long, std::string > m_PinLabelsMap
Map of pin identifiers to alphanumeric pin labels.
std::optional< long > m_ParentNodeIdx
std::vector< std::string > m_PartNames
Part names belonging to this hierarchy.
CADSTAR_PART_PIN(long aId, CADSTAR_PIN_POSITION aPos, CADSTAR_PIN_TYPE aType, std::optional< long > aLoading)
CADSTAR_PIN_POSITION m_Position
std::optional< long > m_Loading
CADSTAR_PART_SYMBOL_ENTRY()
CADSTAR_PART_SYMBOL_ENTRY(std::string aName, std::optional< std::string > aAlternate, std::vector< CADSTAR_PART_PIN > aPins)
std::vector< CADSTAR_PART_PIN > m_Pins
std::optional< std::string > m_SymbolAlternateName
std::optional< std::string > m_Name
std::vector< std::vector< long > > m_Gates
Each gate is a list of pin identifiers.