KiCad PCB EDA Suite
Loading...
Searching...
No Matches
altium_parser_pcb.h File Reference
#include <cstdint>
#include <cstring>
#include <memory>
#include <vector>
#include <footprint.h>
#include <wx/gdicmn.h>

Go to the source code of this file.

Classes

struct  ALTIUM_VERTICE
 
struct  AEXTENDED_PRIMITIVE_INFORMATION
 
struct  ABOARD6_LAYER_STACKUP
 
struct  ABOARD6
 
struct  ACLASS6
 
struct  ACOMPONENT6
 
struct  ADIMENSION6
 
struct  AMODEL
 
struct  ANET6
 
struct  APOLYGON6
 
struct  ARULE6
 
struct  AREGION6
 
struct  AARC6
 
struct  ACOMPONENTBODY6
 
struct  APAD6_SIZE_AND_SHAPE
 
struct  APAD6
 
struct  AVIA6
 
struct  ATRACK6
 
struct  ATEXT6
 
struct  AFILL6
 

Enumerations

enum class  ALTIUM_UNIT {
  UNKNOWN = 0 , INCHES = 1 , MILS = 2 , MILLIMETERS = 3 ,
  CENTIMETER = 4
}
 
enum class  ALTIUM_CLASS_KIND {
  UNKNOWN = -1 , NET_CLASS = 0 , SOURCE_SCHEMATIC_CLASS = 1 , FROM_TO = 2 ,
  PAD_CLASS = 3 , LAYER_CLASS = 4 , UNKNOWN_CLASS = 5 , DIFF_PAIR_CLASS = 6 ,
  POLYGON_CLASS = 7
}
 
enum class  ALTIUM_DIMENSION_KIND {
  UNKNOWN = 0 , LINEAR = 1 , ANGULAR = 2 , RADIAL = 3 ,
  LEADER = 4 , DATUM = 5 , BASELINE = 6 , CENTER = 7 ,
  UNKNOWN_2 = 8 , LINEAR_DIAMETER = 9 , RADIAL_DIAMETER = 10
}
 
enum class  ALTIUM_REGION_KIND {
  UNKNOWN = -1 , COPPER = 0 , POLYGON_CUTOUT = 1 , DASHED_OUTLINE = 2 ,
  UNKNOWN_3 = 3 , CAVITY_DEFINITION = 4 , BOARD_CUTOUT = 5
}
 
enum class  ALTIUM_RULE_KIND {
  UNKNOWN = 0 , CLEARANCE = 1 , DIFF_PAIR_ROUTINGS = 2 , HEIGHT = 3 ,
  HOLE_SIZE = 4 , HOLE_TO_HOLE_CLEARANCE = 5 , WIDTH = 6 , PASTE_MASK_EXPANSION = 7 ,
  SOLDER_MASK_EXPANSION = 8 , PLANE_CLEARANCE = 9 , POLYGON_CONNECT = 10 , ROUTING_VIAS = 11
}
 
enum class  ALTIUM_CONNECT_STYLE { UNKNOWN = 0 , DIRECT = 1 , RELIEF = 2 , NONE = 3 }
 
enum class  ALTIUM_RECORD {
  UNKNOWN = -1 , ARC = 1 , PAD = 2 , VIA = 3 ,
  TRACK = 4 , TEXT = 5 , FILL = 6 , REGION = 11 ,
  MODEL = 12
}
 
enum class  ALTIUM_PAD_SHAPE { UNKNOWN = 0 , CIRCLE = 1 , RECT = 2 , OCTAGONAL = 3 }
 
enum class  ALTIUM_PAD_SHAPE_ALT {
  UNKNOWN = 0 , CIRCLE = 1 , RECT = 2 , OCTAGONAL = 3 ,
  ROUNDRECT = 9
}
 
enum class  ALTIUM_PAD_HOLE_SHAPE { UNKNOWN = -1 , ROUND = 0 , SQUARE = 1 , SLOT = 2 }
 
enum class  ALTIUM_PAD_MODE { SIMPLE = 0 , TOP_MIDDLE_BOTTOM = 1 , FULL_STACK = 2 }
 
enum class  ALTIUM_MODE { UNKNOWN = -1 , NONE = 0 , RULE = 1 , MANUAL = 2 }
 
enum class  ALTIUM_POLYGON_HATCHSTYLE {
  UNKNOWN = 0 , SOLID = 1 , DEGREE_45 = 2 , DEGREE_90 = 3 ,
  HORIZONTAL = 4 , VERTICAL = 5 , NONE = 6
}
 
enum class  ALTIUM_TEXT_POSITION {
  MANUAL = 0 , LEFT_TOP = 1 , LEFT_CENTER = 2 , LEFT_BOTTOM = 3 ,
  CENTER_TOP = 4 , CENTER_CENTER = 5 , CENTER_BOTTOM = 6 , RIGHT_TOP = 7 ,
  RIGHT_CENTER = 8 , RIGHT_BOTTOM = 9
}
 
enum class  ALTIUM_TEXT_TYPE { UNKNOWN = -1 , STROKE = 0 , TRUETYPE = 1 , BARCODE = 2 }
 
enum class  ALTIUM_LAYER {
  UNKNOWN = 0 , TOP_LAYER = 1 , MID_LAYER_1 = 2 , MID_LAYER_2 = 3 ,
  MID_LAYER_3 = 4 , MID_LAYER_4 = 5 , MID_LAYER_5 = 6 , MID_LAYER_6 = 7 ,
  MID_LAYER_7 = 8 , MID_LAYER_8 = 9 , MID_LAYER_9 = 10 , MID_LAYER_10 = 11 ,
  MID_LAYER_11 = 12 , MID_LAYER_12 = 13 , MID_LAYER_13 = 14 , MID_LAYER_14 = 15 ,
  MID_LAYER_15 = 16 , MID_LAYER_16 = 17 , MID_LAYER_17 = 18 , MID_LAYER_18 = 19 ,
  MID_LAYER_19 = 20 , MID_LAYER_20 = 21 , MID_LAYER_21 = 22 , MID_LAYER_22 = 23 ,
  MID_LAYER_23 = 24 , MID_LAYER_24 = 25 , MID_LAYER_25 = 26 , MID_LAYER_26 = 27 ,
  MID_LAYER_27 = 28 , MID_LAYER_28 = 29 , MID_LAYER_29 = 30 , MID_LAYER_30 = 31 ,
  BOTTOM_LAYER = 32 , TOP_OVERLAY = 33 , BOTTOM_OVERLAY = 34 , TOP_PASTE = 35 ,
  BOTTOM_PASTE = 36 , TOP_SOLDER = 37 , BOTTOM_SOLDER = 38 , INTERNAL_PLANE_1 = 39 ,
  INTERNAL_PLANE_2 = 40 , INTERNAL_PLANE_3 = 41 , INTERNAL_PLANE_4 = 42 , INTERNAL_PLANE_5 = 43 ,
  INTERNAL_PLANE_6 = 44 , INTERNAL_PLANE_7 = 45 , INTERNAL_PLANE_8 = 46 , INTERNAL_PLANE_9 = 47 ,
  INTERNAL_PLANE_10 = 48 , INTERNAL_PLANE_11 = 49 , INTERNAL_PLANE_12 = 50 , INTERNAL_PLANE_13 = 51 ,
  INTERNAL_PLANE_14 = 52 , INTERNAL_PLANE_15 = 53 , INTERNAL_PLANE_16 = 54 , DRILL_GUIDE = 55 ,
  KEEP_OUT_LAYER = 56 , MECHANICAL_1 = 57 , MECHANICAL_2 = 58 , MECHANICAL_3 = 59 ,
  MECHANICAL_4 = 60 , MECHANICAL_5 = 61 , MECHANICAL_6 = 62 , MECHANICAL_7 = 63 ,
  MECHANICAL_8 = 64 , MECHANICAL_9 = 65 , MECHANICAL_10 = 66 , MECHANICAL_11 = 67 ,
  MECHANICAL_12 = 68 , MECHANICAL_13 = 69 , MECHANICAL_14 = 70 , MECHANICAL_15 = 71 ,
  MECHANICAL_16 = 72 , DRILL_DRAWING = 73 , MULTI_LAYER = 74 , CONNECTIONS = 75 ,
  BACKGROUND = 76 , DRC_ERROR_MARKERS = 77 , SELECTIONS = 78 , VISIBLE_GRID_1 = 79 ,
  VISIBLE_GRID_2 = 80 , PAD_HOLES = 81 , VIA_HOLES = 82
}
 
enum class  AEXTENDED_PRIMITIVE_INFORMATION_TYPE { UNKNOWN = -1 , MASK }
 

Variables

const uint16_t ALTIUM_NET_UNCONNECTED = std::numeric_limits<uint16_t>::max()
 
const uint16_t ALTIUM_COMPONENT_NONE = std::numeric_limits<uint16_t>::max()
 
const uint16_t ALTIUM_POLYGON_NONE = std::numeric_limits<uint16_t>::max()
 
const uint16_t ALTIUM_POLYGON_BOARD = std::numeric_limits<uint16_t>::max() - 1
 

Enumeration Type Documentation

◆ AEXTENDED_PRIMITIVE_INFORMATION_TYPE

Enumerator
UNKNOWN 
MASK 

Definition at line 341 of file altium_parser_pcb.h.

◆ ALTIUM_CLASS_KIND

enum class ALTIUM_CLASS_KIND
strong
Enumerator
UNKNOWN 
NET_CLASS 
SOURCE_SCHEMATIC_CLASS 
FROM_TO 
PAD_CLASS 
LAYER_CLASS 
UNKNOWN_CLASS 
DIFF_PAIR_CLASS 
POLYGON_CLASS 

Definition at line 59 of file altium_parser_pcb.h.

◆ ALTIUM_CONNECT_STYLE

enum class ALTIUM_CONNECT_STYLE
strong
Enumerator
UNKNOWN 
DIRECT 
RELIEF 
NONE 

Definition at line 118 of file altium_parser_pcb.h.

◆ ALTIUM_DIMENSION_KIND

enum class ALTIUM_DIMENSION_KIND
strong
Enumerator
UNKNOWN 
LINEAR 
ANGULAR 
RADIAL 
LEADER 
DATUM 
BASELINE 
CENTER 
UNKNOWN_2 
LINEAR_DIAMETER 
RADIAL_DIAMETER 

Definition at line 73 of file altium_parser_pcb.h.

◆ ALTIUM_LAYER

enum class ALTIUM_LAYER
strong
Enumerator
UNKNOWN 
TOP_LAYER 
MID_LAYER_1 
MID_LAYER_2 
MID_LAYER_3 
MID_LAYER_4 
MID_LAYER_5 
MID_LAYER_6 
MID_LAYER_7 
MID_LAYER_8 
MID_LAYER_9 
MID_LAYER_10 
MID_LAYER_11 
MID_LAYER_12 
MID_LAYER_13 
MID_LAYER_14 
MID_LAYER_15 
MID_LAYER_16 
MID_LAYER_17 
MID_LAYER_18 
MID_LAYER_19 
MID_LAYER_20 
MID_LAYER_21 
MID_LAYER_22 
MID_LAYER_23 
MID_LAYER_24 
MID_LAYER_25 
MID_LAYER_26 
MID_LAYER_27 
MID_LAYER_28 
MID_LAYER_29 
MID_LAYER_30 
BOTTOM_LAYER 
TOP_OVERLAY 
BOTTOM_OVERLAY 
TOP_PASTE 
BOTTOM_PASTE 
TOP_SOLDER 
BOTTOM_SOLDER 
INTERNAL_PLANE_1 
INTERNAL_PLANE_2 
INTERNAL_PLANE_3 
INTERNAL_PLANE_4 
INTERNAL_PLANE_5 
INTERNAL_PLANE_6 
INTERNAL_PLANE_7 
INTERNAL_PLANE_8 
INTERNAL_PLANE_9 
INTERNAL_PLANE_10 
INTERNAL_PLANE_11 
INTERNAL_PLANE_12 
INTERNAL_PLANE_13 
INTERNAL_PLANE_14 
INTERNAL_PLANE_15 
INTERNAL_PLANE_16 
DRILL_GUIDE 
KEEP_OUT_LAYER 
MECHANICAL_1 
MECHANICAL_2 
MECHANICAL_3 
MECHANICAL_4 
MECHANICAL_5 
MECHANICAL_6 
MECHANICAL_7 
MECHANICAL_8 
MECHANICAL_9 
MECHANICAL_10 
MECHANICAL_11 
MECHANICAL_12 
MECHANICAL_13 
MECHANICAL_14 
MECHANICAL_15 
MECHANICAL_16 
DRILL_DRAWING 
MULTI_LAYER 
CONNECTIONS 
BACKGROUND 
DRC_ERROR_MARKERS 
SELECTIONS 
VISIBLE_GRID_1 
VISIBLE_GRID_2 
PAD_HOLES 
VIA_HOLES 

Definition at line 246 of file altium_parser_pcb.h.

◆ ALTIUM_MODE

enum class ALTIUM_MODE
strong
Enumerator
UNKNOWN 
NONE 
RULE 
MANUAL 

Definition at line 172 of file altium_parser_pcb.h.

◆ ALTIUM_PAD_HOLE_SHAPE

enum class ALTIUM_PAD_HOLE_SHAPE
strong
Enumerator
UNKNOWN 
ROUND 
SQUARE 
SLOT 

Definition at line 157 of file altium_parser_pcb.h.

◆ ALTIUM_PAD_MODE

enum class ALTIUM_PAD_MODE
strong
Enumerator
SIMPLE 
TOP_MIDDLE_BOTTOM 
FULL_STACK 

Definition at line 165 of file altium_parser_pcb.h.

◆ ALTIUM_PAD_SHAPE

enum class ALTIUM_PAD_SHAPE
strong
Enumerator
UNKNOWN 
CIRCLE 
RECT 
OCTAGONAL 

Definition at line 140 of file altium_parser_pcb.h.

◆ ALTIUM_PAD_SHAPE_ALT

enum class ALTIUM_PAD_SHAPE_ALT
strong
Enumerator
UNKNOWN 
CIRCLE 
RECT 
OCTAGONAL 
ROUNDRECT 

Definition at line 148 of file altium_parser_pcb.h.

◆ ALTIUM_POLYGON_HATCHSTYLE

enum class ALTIUM_POLYGON_HATCHSTYLE
strong
Enumerator
UNKNOWN 
SOLID 
DEGREE_45 
DEGREE_90 
HORIZONTAL 
VERTICAL 
NONE 

Definition at line 180 of file altium_parser_pcb.h.

◆ ALTIUM_RECORD

enum class ALTIUM_RECORD
strong
Enumerator
UNKNOWN 
ARC 
PAD 
VIA 
TRACK 
TEXT 
FILL 
REGION 
MODEL 

Definition at line 126 of file altium_parser_pcb.h.

◆ ALTIUM_REGION_KIND

enum class ALTIUM_REGION_KIND
strong
Enumerator
UNKNOWN 
COPPER 
POLYGON_CUTOUT 
DASHED_OUTLINE 
UNKNOWN_3 
CAVITY_DEFINITION 
BOARD_CUTOUT 

Definition at line 89 of file altium_parser_pcb.h.

◆ ALTIUM_RULE_KIND

enum class ALTIUM_RULE_KIND
strong
Enumerator
UNKNOWN 
CLEARANCE 
DIFF_PAIR_ROUTINGS 
HEIGHT 
HOLE_SIZE 
HOLE_TO_HOLE_CLEARANCE 
WIDTH 
PASTE_MASK_EXPANSION 
SOLDER_MASK_EXPANSION 
PLANE_CLEARANCE 
POLYGON_CONNECT 
ROUTING_VIAS 

Definition at line 101 of file altium_parser_pcb.h.

◆ ALTIUM_TEXT_POSITION

enum class ALTIUM_TEXT_POSITION
strong
Enumerator
MANUAL 
LEFT_TOP 
LEFT_CENTER 
LEFT_BOTTOM 
CENTER_TOP 
CENTER_CENTER 
CENTER_BOTTOM 
RIGHT_TOP 
RIGHT_CENTER 
RIGHT_BOTTOM 

Definition at line 192 of file altium_parser_pcb.h.

◆ ALTIUM_TEXT_TYPE

enum class ALTIUM_TEXT_TYPE
strong
Enumerator
UNKNOWN 
STROKE 
TRUETYPE 
BARCODE 

Definition at line 206 of file altium_parser_pcb.h.

◆ ALTIUM_UNIT

enum class ALTIUM_UNIT
strong
Enumerator
UNKNOWN 
INCHES 
MILS 
MILLIMETERS 
CENTIMETER 

Definition at line 49 of file altium_parser_pcb.h.

Variable Documentation

◆ ALTIUM_COMPONENT_NONE

const uint16_t ALTIUM_COMPONENT_NONE = std::numeric_limits<uint16_t>::max()

Definition at line 40 of file altium_parser_pcb.h.

◆ ALTIUM_NET_UNCONNECTED

◆ ALTIUM_POLYGON_BOARD

const uint16_t ALTIUM_POLYGON_BOARD = std::numeric_limits<uint16_t>::max() - 1

◆ ALTIUM_POLYGON_NONE