KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pcad_polygon.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) 2007, 2008 Lubo Racko <[email protected]>
5 * Copyright (C) 2007, 2008, 2012-2013 Alexander Lunev <[email protected]>
6 * Copyright (C) 2012-2023 KiCad Developers, see AUTHORS.TXT for contributors.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, you may find one here:
20 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
21 * or you may search the http://www.gnu.org website for the version 2 license,
22 * or you may write to the Free Software Foundation, Inc.,
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
24 */
25
26#ifndef PCAD_POLYGON_H
27#define PCAD_POLYGON_H
28
31
32class BOARD;
33class FOOTPRINT;
34class wxString;
35class XNODE;
36
37namespace PCAD2KICAD {
38
40{
41public:
42 PCAD_POLYGON( PCAD_CALLBACKS* aCallbacks, BOARD* aBoard, int aPCadLayer );
44
45 virtual bool Parse( XNODE* aNode, const wxString& aDefaultUnits,
46 const wxString& aActualConversion );
47
48 virtual void SetPosOffset( int aX_offs, int aY_offs ) override;
49
50 virtual void Flip() override;
51
52 void AddToBoard( FOOTPRINT* aFootprint = nullptr ) override;
53
54// protected:
55 void AssignNet( const wxString& aNetName );
56
57 void SetOutline( VERTICES_ARRAY* aOutline );
58
59 void FormPolygon( XNODE* aNode, VERTICES_ARRAY* aPolygon,
60 const wxString& aDefaultUnits, const wxString& actualConversion );
61
62public:
65 VERTICES_ARRAY m_Outline; // collection of boundary/outline lines - objects
66 ISLANDS_ARRAY m_Islands;
67 ISLANDS_ARRAY m_Cutouts;
68
69protected:
71};
72
73} // namespace PCAD2KICAD
74
75#endif // PCAD_POLYGON_H
Information pertinent to a Pcbnew printed circuit board.
Definition: board.h:281
virtual void Flip() override
void SetOutline(VERTICES_ARRAY *aOutline)
virtual bool Parse(XNODE *aNode, const wxString &aDefaultUnits, const wxString &aActualConversion)
ISLANDS_ARRAY m_Islands
Definition: pcad_polygon.h:66
VERTICES_ARRAY m_Outline
Definition: pcad_polygon.h:65
ISLANDS_ARRAY m_Cutouts
Definition: pcad_polygon.h:67
void FormPolygon(XNODE *aNode, VERTICES_ARRAY *aPolygon, const wxString &aDefaultUnits, const wxString &actualConversion)
void AssignNet(const wxString &aNetName)
void AddToBoard(FOOTPRINT *aFootprint=nullptr) override
virtual void SetPosOffset(int aX_offs, int aY_offs) override
Hold an XML or S-expression element.
Definition: xnode.h:44