KiCad PCB EDA Suite
Loading...
Searching...
No Matches
easypc_classes_styles.h File Reference

Design items, attributes, styles, layers, net classes and spacings. More...

#include <cstdint>
#include <map>
#include <memory>
#include <wx/string.h>
#include <io/easypc/easypc_classes_base.h>

Go to the source code of this file.

Classes

struct  EASYPC::SOURCE_DESIGN_ITEM
 The base of nearly every class. More...
 
struct  EASYPC::SOURCE_ATTRIBUTE_NAME
 
struct  EASYPC::SOURCE_ATTRIBUTE
 
struct  EASYPC::SOURCE_LINE_STYLE
 
struct  EASYPC::SOURCE_TYPE_FONT
 A TrueType font, which the importers cannot measure. More...
 
struct  EASYPC::SOURCE_TEXT_STYLE
 
struct  EASYPC::SOURCE_TRACK_STYLE
 
struct  EASYPC::SOURCE_PAD_STYLE
 
struct  EASYPC::SOURCE_PAD_STYLE_EXCEPTION
 
struct  EASYPC::SOURCE_LAYER_TYPE
 Layer type names determine silk, mask and paste roles. More...
 
struct  EASYPC::SOURCE_LAYER
 
struct  EASYPC::SOURCE_LAYER_SPAN
 A via span from top_layer to bottom_layer inclusive, in stack order. More...
 
struct  EASYPC::SOURCE_LAYER_ARRAY
 Item order is the physical stack order. More...
 
struct  EASYPC::SOURCE_NET_CLASS
 
struct  EASYPC::SOURCE_SPACINGS
 values maps (a << 16) | b of SPACING_ITEM bits to a clearance More...
 
struct  EASYPC::SOURCE_DESIGN_SPACINGS
 The map is merged into rather than replaced on load, so the constructor defaults persist. More...
 

Namespaces

namespace  EASYPC
 

Enumerations

enum class  EASYPC::PAD_SHAPE : int32_t {
  EASYPC::ROUND = 0 , EASYPC::SQUARE = 1 , EASYPC::RECTANGLE = 2 , EASYPC::OVAL = 3 ,
  EASYPC::BULLET = 4 , EASYPC::CROSS = 5 , EASYPC::CHAMFERED_RECTANGLE = 6 , EASYPC::ROUNDED_RECTANGLE = 7 ,
  EASYPC::DIAMOND = 8 , EASYPC::OCTAGON = 9 , EASYPC::TRIANGLE = 10 , EASYPC::ANNULUS = 11 ,
  EASYPC::TARGET = 12 , EASYPC::OFFSET_OVAL = 13 , EASYPC::OFFSET_BULLET = 14 , EASYPC::OFFSET_RECTANGLE = 15 ,
  EASYPC::C_CUT = 18 , EASYPC::C_OFFSET = 19 , EASYPC::T_SHAPE = 20 , EASYPC::H_SHAPE = 21 ,
  EASYPC::WEDGE = 22 , EASYPC::EQUILATERAL_TRIANGLE = 23 , EASYPC::HEXAGON = 24
}
 Pad style shape, also the drill and exception shape. More...
 
enum class  EASYPC::LAYER_SIDE : int32_t { EASYPC::TOP = 0 , EASYPC::BOTTOM = 1 , EASYPC::INNER = 2 , EASYPC::ALL = 3 }
 
enum  EASYPC::LAYER_USAGE : int32_t {
  EASYPC::LAYER_USAGE_SET = 1 , EASYPC::LAYER_USAGE_ELECTRICAL = 2 , EASYPC::LAYER_USAGE_NON_ELECTRICAL = 4 , EASYPC::LAYER_USAGE_WIRE = 8 ,
  EASYPC::LAYER_USAGE_DRAWING = 16 , EASYPC::LAYER_USAGE_SPAN = 32
}
 Layer usage bits. More...
 
enum class  EASYPC::LAYER_OVERSIZE_TYPE : int32_t { EASYPC::NONE = 0 , EASYPC::FIXED = 1 , EASYPC::PERCENT = 2 }
 How a layer type grows pads. More...
 
enum  EASYPC::SPACING_ITEM : int32_t {
  EASYPC::SPACING_BOARD = 0x01 , EASYPC::SPACING_TRACK = 0x02 , EASYPC::SPACING_PAD = 0x04 , EASYPC::SPACING_VIA = 0x08 ,
  EASYPC::SPACING_SHAPE = 0x10 , EASYPC::SPACING_TEXT = 0x20 , EASYPC::SPACING_DRILL = 0x40 , EASYPC::SPACING_AREA = 0x80 ,
  EASYPC::SPACING_PANEL = 0x100
}
 Item kind bits; a spacing key is (a << 16) | b. More...
 

Variables

constexpr char EASYPC::THERMAL_RULE_SET [] = "o o a o a o a o a 12 o"
 A thermal rule set as SkipFields ops: owner, four thermal rules (owner and an int array), two flags and a hatch style.
 

Detailed Description

Design items, attributes, styles, layers, net classes and spacings.

Loaders read each class's fields in stream order and keep only the fields the importers use. Lengths are design units of 100 nm, angles millidegrees.

Definition in file easypc_classes_styles.h.