KiCad PCB EDA Suite
Loading...
Searching...
No Matches
oval.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) 2023 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, 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 GEOMETRY_OVAL_H_
25
#define GEOMETRY_OVAL_H_
26
27
#include <vector>
28
29
#include <
math/vector2d.h
>
30
#include <
geometry/eda_angle.h
>
31
32
enum
OVAL_KEY_POINTS
33
{
34
OVAL_CENTER
= 1 << 0,
35
OVAL_CAP_TIPS
= 1 << 1,
36
OVAL_CAP_CENTERS
= 1 << 2,
37
OVAL_SIDE_MIDPOINTS
= 1 << 3,
38
OVAL_SIDE_ENDS
= 1 << 4,
39
OVAL_CARDINAL_EXTREMES
= 1 << 5,
40
OVAL_ALL_KEY_POINTS
= 0xFF
41
};
42
43
using
OVAL_KEY_POINT_FLAGS
=
unsigned
int;
44
60
std::vector<VECTOR2I>
GetOvalKeyPoints
(
const
VECTOR2I
& aOvalSize,
const
EDA_ANGLE
& aRotation,
61
OVAL_KEY_POINT_FLAGS
aFlags );
62
63
#endif
/* GEOMETRY_OVAL_H_ */
EDA_ANGLE
Definition:
eda_angle.h:37
VECTOR2< int >
eda_angle.h
OVAL_KEY_POINT_FLAGS
unsigned int OVAL_KEY_POINT_FLAGS
Definition:
oval.h:43
OVAL_KEY_POINTS
OVAL_KEY_POINTS
Definition:
oval.h:33
OVAL_CARDINAL_EXTREMES
@ OVAL_CARDINAL_EXTREMES
Definition:
oval.h:39
OVAL_SIDE_ENDS
@ OVAL_SIDE_ENDS
Definition:
oval.h:38
OVAL_CAP_TIPS
@ OVAL_CAP_TIPS
Definition:
oval.h:35
OVAL_SIDE_MIDPOINTS
@ OVAL_SIDE_MIDPOINTS
Definition:
oval.h:37
OVAL_CAP_CENTERS
@ OVAL_CAP_CENTERS
Definition:
oval.h:36
OVAL_ALL_KEY_POINTS
@ OVAL_ALL_KEY_POINTS
Definition:
oval.h:40
OVAL_CENTER
@ OVAL_CENTER
Definition:
oval.h:34
GetOvalKeyPoints
std::vector< VECTOR2I > GetOvalKeyPoints(const VECTOR2I &aOvalSize, const EDA_ANGLE &aRotation, OVAL_KEY_POINT_FLAGS aFlags)
Get a list of interesting points on an oval (rectangle with semicircular end caps)
Definition:
oval.cpp:31
vector2d.h
src
libs
kimath
include
geometry
oval.h
Generated on Thu Nov 30 2023 00:04:20 for KiCad PCB EDA Suite by
1.9.5