21#ifndef CADSTAR_PARTS_LIB_MODEL_H 
   22#define CADSTAR_PARTS_LIB_MODEL_H 
  190                      std::optional<long> aLoading ) :
 
 
 
  209                               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 $[!
 
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 [@[!
 
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.
 
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 %[!
 
std::optional< std::string > m_Value
 
std::map< std::string, CADSTAR_ATTRIBUTE_VALUE > m_PartAttributes
Tilde (~) line ~[!
 
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.