KiCad PCB EDA Suite
Loading...
Searching...
No Matches
allegro_pcb_structs.h File Reference
#include "string_any_map.h"
#include <array>
#include <cstdint>
#include <optional>
#include <memory>
#include <string>
#include <unordered_map>
#include <variant>
#include <vector>

Go to the source code of this file.

Classes

class  ALLEGRO::BLOCK_BASE
 The base class for all blocks in the main body of an Allegro file. More...
 
class  ALLEGRO::BLOCK< T >
 
struct  ALLEGRO::COND_FIELD_BASE< T >
 
struct  ALLEGRO::COND_GE< MinVersion, T >
 This is a conditional field that only exists in versions of a file of or above a certain version. More...
 
struct  ALLEGRO::COND_LT< MaxVersion, T >
 This is a conditional field that only exists in versions of a file less than a certain version. More...
 
struct  ALLEGRO::COND_GE_LT< GEVersion, LTVersion, T >
 This is a conditional field that only exists in versions of a file less than a certain version. More...
 
struct  ALLEGRO::FILE_HEADER
 Allegro files start with this header. More...
 
struct  ALLEGRO::FILE_HEADER::LAYER_MAP_ENTRY
 
struct  ALLEGRO::FILE_HEADER::LINKED_LIST
 This is apparently some kind of linked list that chains though subsets objects in the file. More...
 
struct  ALLEGRO::LAYER_INFO
 
struct  ALLEGRO::BLK_0x01_ARC
 Arc segment used in tracks, zone outlines, and shape boundaries. More...
 
struct  ALLEGRO::BLK_0x03_FIELD
 Field/property references with variable-typed substructs. More...
 
struct  ALLEGRO::BLK_0x03_FIELD::SUB_0x6C
 
struct  ALLEGRO::BLK_0x03_FIELD::SUB_0x70_0x74
 
struct  ALLEGRO::BLK_0x03_FIELD::SUB_0xF6
 
struct  ALLEGRO::BLK_0x04_NET_ASSIGNMENT
 Net assignment linking a net (0x1B) to its member objects. More...
 
struct  ALLEGRO::BLK_0x05_TRACK
 Track segment container. More...
 
struct  ALLEGRO::BLK_0x06_COMPONENT
 Component/symbol definitions. More...
 
struct  ALLEGRO::BLK_0x07_COMPONENT_INST
 Component instance reference data. More...
 
struct  ALLEGRO::BLK_0x08_PIN_NUMBER
 Pin number within a component. More...
 
struct  ALLEGRO::BLK_0x09_FILL_LINK
 Intermediate link between copper fills and their parent shapes. More...
 
struct  ALLEGRO::BLK_0x0A_DRC
 0x0A objects represent DRC (Design Rule Check) elements. More...
 
struct  ALLEGRO::BLK_0x0C_PIN_DEF
 Pin definition with shape type, drill character, coordinates, and size. More...
 
struct  ALLEGRO::BLK_0x0D_PAD
 Pad geometry and placement in board-absolute coordinates. More...
 
struct  ALLEGRO::BLK_0x0E_RECT
 Rectangular shape. More...
 
struct  ALLEGRO::BLK_0x0F_FUNCTION_SLOT
 Function slot in a multi-slot component (e.g. More...
 
struct  ALLEGRO::BLK_0x10_FUNCTION_INST
 Function instance linking a component instance (0x07) to its schematic function, pin cross-references (0x12), and function slots (0x0F). More...
 
struct  ALLEGRO::BLK_0x11_PIN_NAME
 Pin name within a component, linked from function slots (0x0F). More...
 
struct  ALLEGRO::BLK_0x12_XREF
 Cross-reference between objects. More...
 
struct  ALLEGRO::BLK_0x14_GRAPHIC
 Graphics container holding a chain of line segments and arcs. More...
 
struct  ALLEGRO::BLK_0x15_16_17_SEGMENT
 0x15 , 0x16, 0x17 are segments: More...
 
struct  ALLEGRO::BLK_0x1B_NET
 0x1B objects are nets. More...
 
struct  ALLEGRO::PADSTACK_COMPONENT
 Substruct in a padstack object. More...
 
struct  ALLEGRO::BLK_0x1C_PADSTACK
 Padstack definition containing drill dimensions and a table of per-layer pad/antipad/thermal components. More...
 
struct  ALLEGRO::BLK_0x1D_CONSTRAINT_SET
 Physical constraint sets containing trace width, clearance, and routing rules. More...
 
struct  ALLEGRO::BLK_0x1E_SI_MODEL
 Signal integrity and simulation model data (IBIS netlists). More...
 
struct  ALLEGRO::BLK_0x1F_PADSTACK_DIM
 Per-padstack dimension records with name and value. More...
 
struct  ALLEGRO::BLK_0x20_UNKNOWN
 Unknown purpose. More...
 
struct  ALLEGRO::BLK_0x21_BLOB
 Headered data blob containing structured board data such as layer stackup definitions, material properties, and design rule tables. More...
 
struct  ALLEGRO::BLK_0x22_UNKNOWN
 Purpose not determined. More...
 
struct  ALLEGRO::BLK_0x23_RATLINE
 0x23 objects represent ratlines. More...
 
struct  ALLEGRO::BLK_0x24_RECT
 Rectangle defined by four coordinates. More...
 
struct  ALLEGRO::BLK_0x26_MATCH_GROUP
 Match group indirection for differential pairs and match groups. More...
 
struct  ALLEGRO::BLK_0x27_CSTRMGR_XREF
 Serialized Constraint Manager database containing secondary name table (V172+), material stackup, color palette, and constraint manager state. More...
 
struct  ALLEGRO::BLK_0x28_SHAPE
 Polygon shape defined by a linked list of segments starting at m_FirstSegmentPtr (0x15/0x16/0x17 lines and 0x01 arcs). More...
 
struct  ALLEGRO::BLK_0x29_PIN
 0x29 objects may represent pins in .dra files. More...
 
struct  ALLEGRO::BLK_0x2A_LAYER_LIST
 Represents a list of layers. More...
 
struct  ALLEGRO::BLK_0x2A_LAYER_LIST::NONREF_ENTRY
 
struct  ALLEGRO::BLK_0x2A_LAYER_LIST::REF_ENTRY
 
struct  ALLEGRO::BLK_0x2B_FOOTPRINT_DEF
 Footprint definition (template) shared by multiple placed instances. More...
 
struct  ALLEGRO::BLK_0x2C_TABLE
 Lookup table used for named associations. More...
 
struct  ALLEGRO::BLK_0x2D_FOOTPRINT_INST
 Placed footprint instance on the board. More...
 
struct  ALLEGRO::BLK_0x2E_CONNECTION
 Connection point at a track junction or pad-to-track transition. More...
 
struct  ALLEGRO::BLK_0x2F_UNKNOWN
 Purpose not determined. More...
 
struct  ALLEGRO::BLK_0x30_STR_WRAPPER
 Text object with position, rotation, layer, font properties, and alignment. More...
 
struct  ALLEGRO::BLK_0x30_STR_WRAPPER::TEXT_PROPERTIES
 
struct  ALLEGRO::BLK_0x31_SGRAPHIC
 String graphic content holding the actual text value and its display layer category. More...
 
struct  ALLEGRO::BLK_0x32_PLACED_PAD
 Placed pad instance linking a pad definition (0x0D via m_PadPtr) to its parent footprint (m_ParentFp) and net (m_NetPtr). More...
 
struct  ALLEGRO::BLK_0x33_VIA
 Via instance with board position, padstack reference (m_Padstack for drill/annular ring definitions), and net assignment (m_NetPtr). More...
 
struct  ALLEGRO::BLK_0x34_KEEPOUT
 0x34 objects represent keepouts. More...
 
struct  ALLEGRO::BLK_0x35_FILE_REF
 File path references to Allegro log and report files (terminator.log, eclrpt.txt). More...
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE
 Heterogeneous definition table containing font metrics (FontDef_X08), layer name definitions (X03), film definitions (X02), and other board-level configuration data. More...
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X02
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X03
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X05
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X06
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::FontDef_X08
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X0B
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X0C
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X0D
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X0F
 
struct  ALLEGRO::BLK_0x36_DEF_TABLE::X10
 
struct  ALLEGRO::BLK_0x37_PTR_ARRAY
 Fixed-capacity pointer array (100 entries). More...
 
struct  ALLEGRO::BLK_0x38_FILM
 0x38 objects represent films. More...
 
struct  ALLEGRO::BLK_0x39_FILM_LAYER_LIST
 0x39 objects represent a film layer list. More...
 
struct  ALLEGRO::BLK_0x3A_FILM_LIST_NODE
 0x3A objects represent a list of films More...
 
struct  ALLEGRO::BLK_0x3B_PROPERTY
 Named property with type and value strings. More...
 
struct  ALLEGRO::BLK_0x3C_KEY_LIST
 Ordered list of block keys. More...
 
struct  ALLEGRO::RAW_BOARD
 Raw board structure that we will build as we parse the file. More...
 

Namespaces

namespace  ALLEGRO
 

Enumerations

enum  ALLEGRO::BLOCK_TYPE { ALLEGRO::x1B_NET = 0x1B }
 
enum class  ALLEGRO::FMT_VER {
  ALLEGRO::V_UNKNOWN , ALLEGRO::V_PRE_V16 , ALLEGRO::V_160 , ALLEGRO::V_162 ,
  ALLEGRO::V_164 , ALLEGRO::V_165 , ALLEGRO::V_166 , ALLEGRO::V_172 ,
  ALLEGRO::V_174 , ALLEGRO::V_175 , ALLEGRO::V_180
}
 The format of an Allego file. More...
 
enum  ALLEGRO::BOARD_UNITS { ALLEGRO::IMPERIAL = 0x01 , ALLEGRO::METRIC = 0x03 }
 
enum  ALLEGRO::FIELD_KEYS {
  ALLEGRO::LOGICAL_PATH = 0x37 , ALLEGRO::MIN_LINE_WIDTH = 0x55 , ALLEGRO::NET_SCHEDULE = 0x77 , ALLEGRO::MAX_LINE_WIDTH = 0x173 ,
  ALLEGRO::MIN_NECK_WIDTH = 0x5c , ALLEGRO::MAX_NECK_LENGTH = 0x1fb , ALLEGRO::PHYS_CONSTRAINT_SET = 0x1a0
}
 Hdr1 keys for field roles. More...
 
enum class  ALLEGRO::PAD_TYPE {
  ALLEGRO::THROUGH_VIA , ALLEGRO::VIA , ALLEGRO::SMD_PIN , ALLEGRO::SLOT ,
  ALLEGRO::NPTH
}
 The type of the padstack. More...
 

Functions

constexpr bool ALLEGRO::operator>= (FMT_VER lhs, FMT_VER rhs)