You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.6 KiB

"""
This type stub file was generated by pyright.
"""
import numpy as np
from collections.abc import Callable
from typing import Literal
from numpy.typing import ArrayLike
from .path import Path
class NonIntersectingPathException(ValueError):
...
def get_intersection(cx1: float, cy1: float, cos_t1: float, sin_t1: float, cx2: float, cy2: float, cos_t2: float, sin_t2: float) -> tuple[float, float]:
...
def get_normal_points(cx: float, cy: float, cos_t: float, sin_t: float, length: float) -> tuple[float, float, float, float]:
...
def split_de_casteljau(beta: ArrayLike, t: float) -> tuple[np.ndarray, np.ndarray]:
...
def find_bezier_t_intersecting_with_closedpath(bezier_point_at_t: Callable[[float], tuple[float, float]], inside_closedpath: Callable[[tuple[float, float]], bool], t0: float = ..., t1: float = ..., tolerance: float = ...) -> tuple[float, float]:
...
class BezierSegment:
def __init__(self, control_points: ArrayLike) -> None:
...
def __call__(self, t: ArrayLike) -> np.ndarray:
...
def point_at_t(self, t: float) -> tuple[float, ...]:
...
@property
def control_points(self) -> np.ndarray:
...
@property
def dimension(self) -> int:
...
@property
def degree(self) -> int:
...
@property
def polynomial_coefficients(self) -> np.ndarray:
...
def axis_aligned_extrema(self) -> tuple[np.ndarray, np.ndarray]:
...
def split_bezier_intersecting_with_closedpath(bezier: ArrayLike, inside_closedpath: Callable[[tuple[float, float]], bool], tolerance: float = ...) -> tuple[np.ndarray, np.ndarray]:
...
def split_path_inout(path: Path, inside: Callable[[tuple[float, float]], bool], tolerance: float = ..., reorder_inout: bool = ...) -> tuple[Path, Path]:
...
def inside_circle(cx: float, cy: float, r: float) -> Callable[[tuple[float, float]], bool]:
...
def get_cos_sin(x0: float, y0: float, x1: float, y1: float) -> tuple[float, float]:
...
def check_if_parallel(dx1: float, dy1: float, dx2: float, dy2: float, tolerance: float = ...) -> Literal[-1, False, 1]:
...
def get_parallels(bezier2: ArrayLike, width: float) -> tuple[list[tuple[float, float]], list[tuple[float, float]]]:
...
def find_control_points(c1x: float, c1y: float, mmx: float, mmy: float, c2x: float, c2y: float) -> list[tuple[float, float]]:
...
def make_wedged_bezier2(bezier2: ArrayLike, width: float, w1: float = ..., wm: float = ..., w2: float = ...) -> tuple[list[tuple[float, float]], list[tuple[float, float]]]:
...