54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
from Base.Metadata import export
|
|
from Base.Vector import Vector
|
|
from Conic import Conic
|
|
from Point import Point
|
|
from typing import overload
|
|
|
|
|
|
@export(
|
|
PythonName="Part.Circle",
|
|
Twin="GeomCircle",
|
|
TwinPointer="GeomCircle",
|
|
Include="Mod/Part/App/Geometry.h",
|
|
FatherInclude="Mod/Part/App/ConicPy.h",
|
|
FatherNamespace="Part",
|
|
Constructor=True,
|
|
)
|
|
class Circle(Conic):
|
|
"""
|
|
Describes a circle in 3D space
|
|
To create a circle there are several ways:
|
|
Part.Circle()
|
|
Creates a default circle with center (0,0,0) and radius 1
|
|
|
|
Part.Circle(Circle)
|
|
Creates a copy of the given circle
|
|
|
|
Part.Circle(Circle, Distance)
|
|
Creates a circle parallel to given circle at a certain distance
|
|
|
|
Part.Circle(Center,Normal,Radius)
|
|
Creates a circle defined by center, normal direction and radius
|
|
|
|
Part.Circle(Point1,Point2,Point3)
|
|
Creates a circle defined by three non-linear points
|
|
"""
|
|
|
|
Radius: float = 0.0
|
|
"""The radius of the circle."""
|
|
|
|
@overload
|
|
def __init__(self) -> None: ...
|
|
|
|
@overload
|
|
def __init__(self, circle: "Circle") -> None: ...
|
|
|
|
@overload
|
|
def __init__(self, circle: "Circle", distance: float) -> None: ...
|
|
|
|
@overload
|
|
def __init__(self, center: Point, normal: Vector, radius: float) -> None: ...
|
|
|
|
@overload
|
|
def __init__(self, point1: Point, point2: Point, point3: Point) -> None: ...
|