KiCad PCB EDA Suite
pad_shapes.h
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 1992-2016 KiCad Developers, see CHANGELOG.TXT for contributors.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you may find one here:
18  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19  * or you may search the http://www.gnu.org website for the version 2 license,
20  * or you may write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23 
24 #ifndef PAD_SHAPES_H_
25 #define PAD_SHAPES_H_
26 
27 #include <string>
28 
34 {
40  PAD_SHAPE_CHAMFERED_RECT, // Rectangle with a champered corner ( and with rounded other corners)
41  PAD_SHAPE_CUSTOM // A shape defined by user, using a set of basic shapes
42  // (thick segments, circles, arcs, polygons
43 };
44 
45 static inline std::string PAD_SHAPE_T_asString( PAD_SHAPE_T a )
46 {
47  switch( a )
48  {
49  case PAD_SHAPE_CIRCLE: return "PAD_SHAPE_CIRCLE";
50  case PAD_SHAPE_RECT: return "PAD_SHAPE_RECT";
51  case PAD_SHAPE_OVAL: return "PAD_SHAPE_OVAL";
52  case PAD_SHAPE_TRAPEZOID: return "PAD_SHAPE_TRAPEZOID";
53  case PAD_SHAPE_ROUNDRECT: return "PAD_SHAPE_ROUNDRECT";
54  case PAD_SHAPE_CHAMFERED_RECT: return "PAD_SHAPE_CHAMFERED_RECT";
55  case PAD_SHAPE_CUSTOM: return "PAD_SHAPE_CUSTOM";
56  }
57 
58  return ""; // Just to quiet GCC.
59 };
60 
61 
67 {
70 };
71 
72 
79 {
86 };
88 
89 
96 {
104 };
105 
106 
107 #endif // PAD_SHAPES_H_
no special fabrication property
Definition: pad_shapes.h:97
like PAD_STANDARD, but not plated mechanical use only, no connection allowed
Definition: pad_shapes.h:85
PAD_ATTR_T
Enum PAD_ATTR_T is the set of pad shapes, used with D_PAD::{Set,Get}Attribute() The double name is fo...
Definition: pad_shapes.h:78
static std::string PAD_SHAPE_T_asString(PAD_SHAPE_T a)
Definition: pad_shapes.h:45
a fiducial (usually a smd) for the full board
Definition: pad_shapes.h:99
Smd pad, appears on the solder paste layer (default)
Definition: pad_shapes.h:81
Smd pad, used in BGA footprints.
Definition: pad_shapes.h:98
a pad used as heat sink, usually in SMD footprints
Definition: pad_shapes.h:102
PAD_DRILL_SHAPE_T
Enum PAD_DRILL_SHAPE_T is the set of pad drill shapes, used with D_PAD::{Set,Get}DrillShape()
Definition: pad_shapes.h:66
PAD_SHAPE_T
Enum PAD_SHAPE_T is the set of pad shapes, used with D_PAD::{Set,Get}Shape()
Definition: pad_shapes.h:33
a pad with a castellated through hole
Definition: pad_shapes.h:103
PAD_PROP_T
Enum PAD_PROP_T is the set of pad properties used in Gerber files (Draw files, and P&P files) to defi...
Definition: pad_shapes.h:95
Like smd, does not appear on the solder paste layer (default) note also has a special attribute in Ge...
Definition: pad_shapes.h:82
a fiducial (usually a smd) local to the parent footprint
Definition: pad_shapes.h:100
a test point pad
Definition: pad_shapes.h:101