KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ellipse.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 modify it
7
* under the terms of the GNU General Public License as published by the
8
* Free Software Foundation, either version 3 of the License, or (at your
9
* option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License along
17
* with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#ifndef KICAD_ELLIPSE_H
21
#define KICAD_ELLIPSE_H
22
23
#include <
math/vector2d.h
>
24
#include <
geometry/eda_angle.h
>
25
#include <
core/mirror.h
>
26
29
30
template
<
typename
NumericType>
31
class
ELLIPSE
32
{
33
public
:
34
ELLIPSE
() :
35
MajorRadius
( 0 ),
36
MinorRadius
( 0 )
37
{
38
}
39
51
ELLIPSE
(
const
VECTOR2<NumericType>
& aCenter, NumericType aMajorRadius,
52
NumericType aMinorRadius,
EDA_ANGLE
aRotation,
EDA_ANGLE
aStartAngle =
ANGLE_0
,
53
EDA_ANGLE
aEndAngle =
FULL_CIRCLE
);
54
66
ELLIPSE
(
const
VECTOR2<NumericType>
& aCenter,
const
VECTOR2<NumericType>
& aMajor,
double
aRatio,
67
EDA_ANGLE
aStartAngle =
ANGLE_0
,
EDA_ANGLE
aEndAngle =
FULL_CIRCLE
);
68
72
void
Mirror
(
const
VECTOR2<NumericType>
& aRef,
FLIP_DIRECTION
aFlipDirection );
73
74
VECTOR2<NumericType>
Center
;
75
NumericType
MajorRadius
;
76
NumericType
MinorRadius
;
77
EDA_ANGLE
Rotation
;
78
EDA_ANGLE
StartAngle
;
79
EDA_ANGLE
EndAngle
;
80
81
};
82
83
#endif
//KICAD_ELLIPSE_H
EDA_ANGLE
Definition
eda_angle.h:37
ELLIPSE::MinorRadius
NumericType MinorRadius
Definition
ellipse.h:76
ELLIPSE::Rotation
EDA_ANGLE Rotation
Definition
ellipse.h:77
ELLIPSE::Mirror
void Mirror(const VECTOR2< NumericType > &aRef, FLIP_DIRECTION aFlipDirection)
Mirror the ellipse along a horizontal or vertical axis passing through aRef.
Definition
ellipse.cpp:52
ELLIPSE::StartAngle
EDA_ANGLE StartAngle
Definition
ellipse.h:78
ELLIPSE::ELLIPSE
ELLIPSE()
Definition
ellipse.h:34
ELLIPSE::MajorRadius
NumericType MajorRadius
Definition
ellipse.h:75
ELLIPSE::EndAngle
EDA_ANGLE EndAngle
Definition
ellipse.h:79
ELLIPSE::Center
VECTOR2< NumericType > Center
Definition
ellipse.h:74
VECTOR2
Define a general 2D-vector/point.
Definition
vector2d.h:71
eda_angle.h
ANGLE_0
static constexpr EDA_ANGLE ANGLE_0
Definition
eda_angle.h:411
FULL_CIRCLE
static constexpr EDA_ANGLE FULL_CIRCLE
Definition
eda_angle.h:409
mirror.h
FLIP_DIRECTION
FLIP_DIRECTION
Definition
mirror.h:27
vector2d.h
src
libs
kimath
include
geometry
ellipse.h
Generated on Sat May 16 2026 00:07:03 for KiCad PCB EDA Suite by
1.13.2