File size: 2,475 Bytes
985c397
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# SPDX-License-Identifier: LGPL-2.1-or-later

from __future__ import annotations

from Metadata import export
from typing import overload, Tuple
from Part.Geom2d import Conic2d

@export(
    PythonName="Part.Geom2d.Circle2d",
    Twin="Geom2dCircle",
    TwinPointer="Geom2dCircle",
    Include="Mod/Part/App/Geometry2d.h",
    FatherInclude="Mod/Part/App/Geom2d/Conic2dPy.h",
    Constructor=True,
)
class Circle2d(Conic2d):
    """
    Describes a circle in 3D space
    To create a circle there are several ways:
    Part.Geom2d.Circle2d()
        Creates a default circle with center (0,0) and radius 1

    Part.Geom2d.Circle2d(circle)
        Creates a copy of the given circle

    Part.Geom2d.Circle2d(circle, Distance)
        Creates a circle parallel to given circle at a certain distance

    Part.Geom2d.Circle2d(Center,Radius)
        Creates a circle defined by center and radius

    Part.Geom2d.Circle2d(Point1,Point2,Point3)
        Creates a circle defined by three non-linear points

    Author: Werner Mayer (wmayer@users.sourceforge.net)
    Licence: LGPL
    """

    Radius: float = ...
    """The radius of the circle."""

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, circle: "Circle2d") -> None: ...
    @overload
    def __init__(self, circle: "Circle2d", Distance: float) -> None: ...
    @overload
    def __init__(self, Center: Tuple[float, float], Radius: float) -> None: ...
    @overload
    def __init__(
        self, Point1: Tuple[float, float], Point2: Tuple[float, float], Point3: Tuple[float, float]
    ) -> None: ...
    @overload
    def __init__(self, *args, **kwargs) -> None:
        """
        Describes a circle in 3D space
        To create a circle there are several ways:
        Part.Geom2d.Circle2d()
            Creates a default circle with center (0,0) and radius 1

        Part.Geom2d.Circle2d(circle)
            Creates a copy of the given circle

        Part.Geom2d.Circle2d(circle, Distance)
            Creates a circle parallel to given circle at a certain distance

        Part.Geom2d.Circle2d(Center,Radius)
            Creates a circle defined by center and radius

        Part.Geom2d.Circle2d(Point1,Point2,Point3)
            Creates a circle defined by three non-linear points
        """
        ...

    @staticmethod
    def getCircleCenter() -> Tuple[float, float]:
        """
        Get the circle center defined by three points
        """
        ...