KiCad PCB EDA Suite
am_primitive.h File Reference
#include <vector>
#include <set>
#include <am_param.h>
#include <eda_rect.h>

Go to the source code of this file.

Classes

class  AM_PRIMITIVE
 An aperture macro primitive as given in Table 3 of http://gerbv.sourceforge.net/docs/rs274xrevd_e.pdf. More...
 
struct  APERTURE_MACRO
 Support the "aperture macro" defined within standard RS274X. More...
 
struct  APERTURE_MACRO_less_than
 Used by std:set<APERTURE_MACRO> instantiation which uses APERTURE_MACRO.name as its key. More...
 

Typedefs

typedef std::vector< AM_PRIMITIVEAM_PRIMITIVES
 
typedef std::set< APERTURE_MACRO, APERTURE_MACRO_less_thanAPERTURE_MACRO_SET
 A sorted collection of APERTURE_MACROS whose key is the name field in the APERTURE_MACRO. More...
 
typedef std::pair< APERTURE_MACRO_SET::iterator, bool > APERTURE_MACRO_SET_PAIR
 

Enumerations

enum  AM_PRIMITIVE_ID {
  AMP_UNKNOWN = -1 , AMP_COMMENT = 0 , AMP_CIRCLE = 1 , AMP_LINE2 = 2 ,
  AMP_LINE20 = 20 , AMP_LINE_CENTER = 21 , AMP_LINE_LOWER_LEFT = 22 , AMP_EOF = 3 ,
  AMP_OUTLINE = 4 , AMP_POLYGON = 5 , AMP_MOIRE = 6 , AMP_THERMAL = 7
}
 The set of all "aperture macro primitives" (primitive numbers). More...
 

Typedef Documentation

◆ AM_PRIMITIVES

typedef std::vector<AM_PRIMITIVE> AM_PRIMITIVES

Definition at line 162 of file am_primitive.h.

◆ APERTURE_MACRO_SET

A sorted collection of APERTURE_MACROS whose key is the name field in the APERTURE_MACRO.

Definition at line 265 of file am_primitive.h.

◆ APERTURE_MACRO_SET_PAIR

typedef std::pair<APERTURE_MACRO_SET::iterator, bool> APERTURE_MACRO_SET_PAIR

Definition at line 266 of file am_primitive.h.

Enumeration Type Documentation

◆ AM_PRIMITIVE_ID

The set of all "aperture macro primitives" (primitive numbers).

See Table 3 in http://gerbv.sourceforge.net/docs/rs274xrevd_e.pdf aperture macro primitives are basic shapes which can be combined to create a complex shape. This complex shape is flashed.

Enumerator
AMP_UNKNOWN 
AMP_COMMENT 
AMP_CIRCLE 
AMP_LINE2 
AMP_LINE20 
AMP_LINE_CENTER 
AMP_LINE_LOWER_LEFT 
AMP_EOF 
AMP_OUTLINE 
AMP_POLYGON 
AMP_MOIRE 
AMP_THERMAL 

Definition at line 70 of file am_primitive.h.

70 {
71 AMP_UNKNOWN = -1, // A value for uninitialized AM_PRIMITIVE.
72 AMP_COMMENT = 0, // A primitive description is not really a primitive, this is a
73 // comment
74 AMP_CIRCLE = 1, // Circle. (diameter and position)
75 AMP_LINE2 = 2, // Line with rectangle ends. (Width, start and end pos + rotation)
76 AMP_LINE20 = 20, // Same as AMP_LINE2
77 AMP_LINE_CENTER = 21, // Rectangle. (height, width and center pos + rotation)
78 AMP_LINE_LOWER_LEFT = 22, // Rectangle. (height, width and left bottom corner pos + rotation)
79 AMP_EOF = 3, // End Of File marker: not really a shape
80 AMP_OUTLINE = 4, // Free polyline (n corners + rotation)
81 AMP_POLYGON = 5, // Closed regular polygon(diameter, number of vertices (3 to 10),
82 // rotation)
83 AMP_MOIRE = 6, // A cross hair with n concentric circles + rotation
84 AMP_THERMAL = 7 // Thermal shape (pos, outer and inner diameter, cross hair
85 // thickness + rotation)
86};
@ AMP_POLYGON
Definition: am_primitive.h:81
@ AMP_LINE_LOWER_LEFT
Definition: am_primitive.h:78
@ AMP_LINE2
Definition: am_primitive.h:75
@ AMP_CIRCLE
Definition: am_primitive.h:74
@ AMP_THERMAL
Definition: am_primitive.h:84
@ AMP_EOF
Definition: am_primitive.h:79
@ AMP_UNKNOWN
Definition: am_primitive.h:71
@ AMP_COMMENT
Definition: am_primitive.h:72
@ AMP_LINE_CENTER
Definition: am_primitive.h:77
@ AMP_MOIRE
Definition: am_primitive.h:83
@ AMP_OUTLINE
Definition: am_primitive.h:80
@ AMP_LINE20
Definition: am_primitive.h:76