KiCad PCB EDA Suite
Loading...
Searching...
No Matches
board_construction_utils.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 The KiCad Developers, see AUTHORS.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, see <https://www.gnu.org/licenses/>.
18 */
19
24
25#ifndef QA_PCBNEW_BOARD_CONSTRUCTION_UTILS__H
26#define QA_PCBNEW_BOARD_CONSTRUCTION_UTILS__H
27
28#include <vector>
29
30#include <layer_ids.h>
31#include <math/vector2d.h>
32#include <geometry/eda_angle.h>
33
34class FOOTPRINT;
35class SEG;
36
37
38namespace KI_TEST
39{
40
48void DrawSegment( FOOTPRINT& aFootprint, const SEG& aSeg, int aWidth, PCB_LAYER_ID aLayer );
49
57void DrawPolyline( FOOTPRINT& aFootprint, const std::vector<VECTOR2I>& aPts, int aWidth,
58 PCB_LAYER_ID aLayer );
59
69void DrawArc( FOOTPRINT& aFootprint, const VECTOR2I& aCentre, const VECTOR2I& aStart,
70 const EDA_ANGLE& aAngle, int aWidth, PCB_LAYER_ID aLayer );
71
81void DrawRect( FOOTPRINT& aFootprint, const VECTOR2I& aPos, const VECTOR2I& aSize, int aRadius,
82 int aWidth, PCB_LAYER_ID aLayer );
83
84} // namespace KI_TEST
85
86#endif // QA_PCBNEW_BOARD_CONSTRUCTION_UTILS__H
Definition seg.h:38
PCB_LAYER_ID
A quick note on layer IDs:
Definition layer_ids.h:56
void DrawArc(FOOTPRINT &aFootprint, const VECTOR2I &aCentre, const VECTOR2I &aStart, const EDA_ANGLE &aAngle, int aWidth, PCB_LAYER_ID aLayer)
Draw an arc on a footprint.
void DrawSegment(FOOTPRINT &aFootprint, const SEG &aSeg, int aWidth, PCB_LAYER_ID aLayer)
Draw a segment in the given footprint.
void DrawRect(FOOTPRINT &aFootprint, const VECTOR2I &aPos, const VECTOR2I &aSize, int aRadius, int aWidth, PCB_LAYER_ID aLayer)
Draw a rectangle on a footprint.
void DrawPolyline(FOOTPRINT &aFootprint, const std::vector< VECTOR2I > &aPts, int aWidth, PCB_LAYER_ID aLayer)
Draw a polyline - a set of linked segments.
VECTOR2< int32_t > VECTOR2I
Definition vector2d.h:683