KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ALLEGRO Namespace Reference

Classes

struct  ARC
 0x01 ARC objects More...
 
struct  BLK_0x01_ARC
 Arc segment used in tracks, zone outlines, and shape boundaries. More...
 
struct  BLK_0x03_FIELD
 Field/property references with variable-typed substructs. More...
 
struct  BLK_0x04_NET_ASSIGNMENT
 Net assignment linking a net (0x1B) to its member objects. More...
 
struct  BLK_0x05_TRACK
 Track segment container. More...
 
struct  BLK_0x06_COMPONENT
 Component/symbol definitions. More...
 
struct  BLK_0x07_COMPONENT_INST
 Component instance reference data. More...
 
struct  BLK_0x08_PIN_NUMBER
 Pin number within a component. More...
 
struct  BLK_0x09_FILL_LINK
 Intermediate link between copper fills and their parent shapes. More...
 
struct  BLK_0x0A_DRC
 0x0A objects represent DRC (Design Rule Check) elements. More...
 
struct  BLK_0x0C_PIN_DEF
 Pin definition with shape type, drill character, coordinates, and size. More...
 
struct  BLK_0x0D_PAD
 Pad geometry and placement in board-absolute coordinates. More...
 
struct  BLK_0x0E_SHAPE_SEG
 Shape/fill segment linking a copper shape to its parent footprint. More...
 
struct  BLK_0x0F_FUNCTION_SLOT
 Function slot in a multi-slot component (e.g. More...
 
struct  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  BLK_0x11_PIN_NAME
 Pin name within a component, linked from function slots (0x0F). More...
 
struct  BLK_0x12_XREF
 Cross-reference between objects. More...
 
struct  BLK_0x14_GRAPHIC
 Graphics container holding a chain of line segments and arcs. More...
 
struct  BLK_0x15_16_17_SEGMENT
 0x15 , 0x16, 0x17 are segments: More...
 
struct  BLK_0x1B_NET
 0x1B objects are nets. More...
 
struct  BLK_0x1C_PADSTACK
 Padstack definition containing drill dimensions and a table of per-layer pad/antipad/thermal components. More...
 
struct  BLK_0x1D_CONSTRAINT_SET
 Physical constraint sets containing trace width, clearance, and routing rules. More...
 
struct  BLK_0x1E_SI_MODEL
 Signal integrity and simulation model data (IBIS netlists). More...
 
struct  BLK_0x1F_PADSTACK_DIM
 Per-padstack dimension records with name and value. More...
 
struct  BLK_0x20_UNKNOWN
 Unknown purpose. More...
 
struct  BLK_0x21_BLOB
 Headered data blob containing structured board data such as layer stackup definitions, material properties, and design rule tables. More...
 
struct  BLK_0x22_UNKNOWN
 Purpose not determined. More...
 
struct  BLK_0x23_RATLINE
 0x23 objects represent ratlines. More...
 
struct  BLK_0x24_RECT
 Rectangle defined by four coordinates. More...
 
struct  BLK_0x26_MATCH_GROUP
 Match group indirection for differential pairs and match groups. More...
 
struct  BLK_0x27_CSTRMGR_XREF
 Serialized Constraint Manager database containing secondary name table (V172+), material stackup, color palette, and constraint manager state. More...
 
struct  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  BLK_0x29_PIN
 0x29 objects may represent pins in .dra files. More...
 
struct  BLK_0x2A_LAYER_LIST
 Represents a list of layers. More...
 
struct  BLK_0x2B_FOOTPRINT_DEF
 Footprint definition (template) shared by multiple placed instances. More...
 
struct  BLK_0x2C_TABLE
 Lookup table used for named associations. More...
 
struct  BLK_0x2D_FOOTPRINT_INST
 Placed footprint instance on the board. More...
 
struct  BLK_0x2E_CONNECTION
 Connection point at a track junction or pad-to-track transition. More...
 
struct  BLK_0x2F_UNKNOWN
 Purpose not determined. More...
 
struct  BLK_0x30_STR_WRAPPER
 Text object with position, rotation, layer, font properties, and alignment. More...
 
struct  BLK_0x31_SGRAPHIC
 String graphic content holding the actual text value and its display layer category. More...
 
struct  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  BLK_0x33_VIA
 Via instance with board position, padstack reference (m_Padstack for drill/annular ring definitions), and net assignment (m_NetPtr). More...
 
struct  BLK_0x34_KEEPOUT
 0x34 objects represent keepouts. More...
 
struct  BLK_0x35_FILE_REF
 File path references to Allegro log and report files (terminator.log, eclrpt.txt). More...
 
struct  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  BLK_0x37_PTR_ARRAY
 Fixed-capacity pointer array (100 entries). More...
 
struct  BLK_0x38_FILM
 0x38 objects represent films. More...
 
struct  BLK_0x39_FILM_LAYER_LIST
 0x39 objects represent a film layer list. More...
 
struct  BLK_0x3A_FILM_LIST_NODE
 0x3A objects represent a list of films More...
 
struct  BLK_0x3B_PROPERTY
 Named property with type and value strings. More...
 
struct  BLK_0x3C_KEY_LIST
 Ordered list of block keys. More...
 
class  BLOCK
 
class  BLOCK_BASE
 The base class for all blocks in the main body of an Allegro file. More...
 
class  BLOCK_PARSER
 The block parser is responsible for parsing individual blocks of data from the file stream. More...
 
class  BOARD_BUILDER
 Class that builds a KiCad board from a BRD_DB (= FILE_HEADER + STRINGS + OBJECTS + bookkeeping) More...
 
class  BRD_DB
 An Allegro database that represents a .brd file (amd presumably .dra) More...
 
struct  COMPONENT
 COMPONENT 0x06 objects. More...
 
struct  COMPONENT_INST
 COMPONENT_INST 0x07 objects. More...
 
struct  COND_FIELD_BASE
 
struct  COND_GE
 This is a conditional field that only exists in versions of a file of or above a certain version. More...
 
struct  COND_GE_LT
 This is a conditional field that only exists in versions of a file less than a certain version. More...
 
struct  COND_LT
 This is a conditional field that only exists in versions of a file less than a certain version. More...
 
struct  CONNECTION_OBJ
 0x2E objects. More...
 
class  DB
 An ALLEGRO::DB is the represention of the actual data stored within an Allegro file, without specific reference to the format on disk. More...
 
struct  DB_OBJ
 A DB_OBJ represents one object in an Allegro database. More...
 
class  DB_OBJ_RESOLVER
 Some interface that can yield DB_OBJs for keys. More...
 
struct  DB_REF
 
struct  DB_REF_CHAIN
 Chain of DB references that lead from the head to the tail. More...
 
struct  DB_STR_REF
 
struct  FIELD
 0x03 FIELD objects More...
 
class  FIELD_LIST
 A field list is a linked list of 0x03. More...
 
struct  FILE_HEADER
 Allegro files start with this header. More...
 
class  FILE_STREAM
 Stream that reads primitive types from a memory buffer containing Allegro .brd (or .dra) file data. More...
 
struct  FOOTPRINT_DEF
 0x2B objects More...
 
struct  FOOTPRINT_INSTANCE
 0x2D objects More...
 
struct  FUNCTION_INSTANCE
 A FUNCTION (0x10) object represents a logical function, which is an instance of a single function slot within a symbol. More...
 
struct  FUNCTION_SLOT
 A FUNCTION_SLOT (0x0F) object represents a single function slot within a symbol. More...
 
struct  GRAPHIC_SEG
 0x14 objects (a line or arc graphic segment) More...
 
class  HEADER_PARSER
 Parses a .brd header, taking care of any version-specific differences. More...
 
struct  LAYER_INFO
 
class  LAYER_MAPPER
 Class to handle the mapping for Allegro CLASS/SUBCLASS idiom to KiCad layers. More...
 
struct  LINE
 LINE objects (0x15, 0x16, 0x17) More...
 
struct  NET
 0x1B NET objects More...
 
struct  NET_ASSIGN
 0x04 NET_ASSIGN objects More...
 
struct  PADSTACK_COMPONENT
 Substruct in a padstack object. More...
 
class  PARSER
 Class that parses a single FILE_STREAM into a RAW_BOARD, and handles any state involved in that parsing. More...
 
struct  PIN_NAME
 0x11 objects. More...
 
struct  PIN_NUMBER
 0x08 objects. More...
 
struct  PLACED_PAD
 0x32 Placed Pad objects. More...
 
struct  RAW_BOARD
 Raw board structure that we will build as we parse the file. More...
 
struct  RESOLVABLE
 
class  SHAPE
 0x28 SHAPE objects More...
 
struct  SHAPE_SEG_OBJ
 0x0E objects: ? More...
 
struct  TRACK
 0x05 TRACK More...
 
class  UNKNOWN_0x20
 0x20 objects. More...
 
struct  VIA
 0x33 VIA objects. More...
 
struct  VIEW_OBJS
 When processing a view, some objects are available and some are not. More...
 
struct  XREF_OBJ
 0x12 objects. More...
 

Typedefs

using VIEW_OBJS_VISITOR = std::function<void( const VIEW_OBJS& aViewObjs )>
 

Enumerations

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

Functions

constexpr bool operator>= (FMT_VER lhs, FMT_VER rhs)
 
std::ostream & boost_test_print_type (std::ostream &os, FMT_VER const &aFmtVer)
 

Variables

static constexpr DB_REF DB_NULLREF = {}
 
static constexpr DB_STR_REF DB_STRNULLREF = {}
 

Typedef Documentation

◆ VIEW_OBJS_VISITOR

using ALLEGRO::VIEW_OBJS_VISITOR = std::function<void( const VIEW_OBJS& aViewObjs )>

Definition at line 842 of file allegro_db.h.

Enumeration Type Documentation

◆ BLOCK_TYPE

Enumerator
x1B_NET 

Definition at line 90 of file allegro_pcb_structs.h.

◆ BOARD_UNITS

Enumerator
IMPERIAL 
METRIC 

Definition at line 207 of file allegro_pcb_structs.h.

◆ FIELD_KEYS

Hdr1 keys for field roles.

Enumerator
LOGICAL_PATH 
MIN_LINE_WIDTH 
NET_SCHEDULE 

Net class/schedule assignment.

MAX_LINE_WIDTH 
MIN_NECK_WIDTH 
MAX_NECK_LENGTH 
PHYS_CONSTRAINT_SET 

Physical Constraint Set assignment.

Definition at line 575 of file allegro_pcb_structs.h.

◆ FMT_VER

enum class ALLEGRO::FMT_VER
strong

The format of an Allego file.

Allgro formats seem to be versioned per the magic, with the lowest byte masked out (or at least there no known case of the lower magic byte changing the format.

But the version does not seem to be directly related to the Allegro version (e.g. 17.2) itself.

Enumerator
V_UNKNOWN 
V_PRE_V16 
V_160 
V_162 
V_164 
V_165 
V_166 
V_172 
V_174 
V_175 
V_180 

Definition at line 106 of file allegro_pcb_structs.h.

◆ PAD_TYPE

enum class ALLEGRO::PAD_TYPE
strong

The type of the padstack.

This seems a little uncertain in places (there seems to be 2 codes for SMD for example)

Enumerator
THROUGH_VIA 
VIA 
SMD_PIN 
SLOT 
NPTH 

Definition at line 1011 of file allegro_pcb_structs.h.

Function Documentation

◆ boost_test_print_type()

std::ostream & ALLEGRO::boost_test_print_type ( std::ostream & os,
FMT_VER const & aFmtVer )

Definition at line 32 of file allegro_test_utils.cpp.

◆ operator>=()

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

Definition at line 121 of file allegro_pcb_structs.h.

Variable Documentation

◆ DB_NULLREF

DB_REF ALLEGRO::DB_NULLREF = {}
staticconstexpr

◆ DB_STRNULLREF

DB_STR_REF ALLEGRO::DB_STRNULLREF = {}
staticconstexpr

Definition at line 133 of file allegro_db.h.