|
| 1 | +from collections.abc import Iterable, Iterator, Sequence |
| 2 | +from typing import TypeAlias |
| 3 | + |
| 4 | +import numpy as np |
| 5 | +import numpy.typing as npt |
| 6 | + |
| 7 | +PointLike: TypeAlias = Sequence[float] | npt.ArrayLike |
| 8 | +PointsLike: TypeAlias = Sequence[Sequence[float]] | npt.ArrayLike |
| 9 | +SimplexLike: TypeAlias = Sequence[int] |
| 10 | +Simplex: TypeAlias = tuple[int, ...] |
| 11 | +SimplexSet: TypeAlias = set[Simplex] |
| 12 | +TransformLike: TypeAlias = Sequence[Sequence[float]] | npt.ArrayLike |
| 13 | + |
| 14 | +__version__: str |
| 15 | + |
| 16 | + |
| 17 | +class Triangulation: |
| 18 | + def __init__(self, coords: PointsLike) -> None: ... |
| 19 | + |
| 20 | + @property |
| 21 | + def vertices(self) -> list[tuple[float, ...]]: ... |
| 22 | + |
| 23 | + @property |
| 24 | + def simplices(self) -> SimplexSet: ... |
| 25 | + |
| 26 | + @property |
| 27 | + def vertex_to_simplices(self) -> list[SimplexSet]: ... |
| 28 | + |
| 29 | + @property |
| 30 | + def hull(self) -> set[int]: ... |
| 31 | + |
| 32 | + @property |
| 33 | + def dim(self) -> int: ... |
| 34 | + |
| 35 | + @property |
| 36 | + def default_transform(self) -> npt.NDArray[np.float64]: ... |
| 37 | + |
| 38 | + def add_simplex(self, simplex: SimplexLike) -> None: ... |
| 39 | + def delete_simplex(self, simplex: SimplexLike) -> None: ... |
| 40 | + def add_point( |
| 41 | + self, |
| 42 | + point: PointLike, |
| 43 | + simplex: SimplexLike | None = None, |
| 44 | + transform: TransformLike | None = None, |
| 45 | + ) -> tuple[SimplexSet, SimplexSet]: ... |
| 46 | + def get_vertices(self, indices: Sequence[int]) -> list[tuple[float, ...]]: ... |
| 47 | + def locate_point(self, point: PointLike) -> tuple[int, ...]: ... |
| 48 | + def get_reduced_simplex( |
| 49 | + self, |
| 50 | + point: PointLike, |
| 51 | + simplex: SimplexLike, |
| 52 | + eps: float = 1e-8, |
| 53 | + ) -> list[int]: ... |
| 54 | + def circumscribed_circle( |
| 55 | + self, |
| 56 | + simplex: SimplexLike, |
| 57 | + transform: TransformLike | None = None, |
| 58 | + ) -> tuple[tuple[float, ...], float]: ... |
| 59 | + def point_in_circumcircle( |
| 60 | + self, |
| 61 | + pt_index: int, |
| 62 | + simplex: SimplexLike, |
| 63 | + transform: TransformLike | None = None, |
| 64 | + ) -> bool: ... |
| 65 | + def point_in_cicumcircle( |
| 66 | + self, |
| 67 | + pt_index: int, |
| 68 | + simplex: SimplexLike, |
| 69 | + transform: TransformLike | None = None, |
| 70 | + ) -> bool: ... |
| 71 | + def volume(self, simplex: SimplexLike) -> float: ... |
| 72 | + def volumes(self) -> list[float]: ... |
| 73 | + def faces( |
| 74 | + self, |
| 75 | + dim: int | None = None, |
| 76 | + simplices: Iterable[SimplexLike] | None = None, |
| 77 | + vertices: Iterable[int] | None = None, |
| 78 | + ) -> Iterator[Simplex]: ... |
| 79 | + def containing(self, face: Sequence[int]) -> SimplexSet: ... |
| 80 | + def reference_invariant(self) -> bool: ... |
| 81 | + def point_in_simplex( |
| 82 | + self, |
| 83 | + point: PointLike, |
| 84 | + simplex: SimplexLike, |
| 85 | + eps: float = 1e-8, |
| 86 | + ) -> bool: ... |
| 87 | + def bowyer_watson( |
| 88 | + self, |
| 89 | + pt_index: int, |
| 90 | + containing_simplex: SimplexLike | None = None, |
| 91 | + transform: TransformLike | None = None, |
| 92 | + ) -> tuple[SimplexSet, SimplexSet]: ... |
| 93 | + def vertex_invariant(self, vertex: int) -> bool: ... |
| 94 | + def convex_invariant(self, vertex: int) -> bool: ... |
| 95 | + |
| 96 | + |
| 97 | +def circumsphere(points: PointsLike) -> tuple[tuple[float, ...], float]: ... |
| 98 | +def fast_2d_circumcircle(points: PointsLike) -> tuple[tuple[float, ...], float]: ... |
| 99 | +def fast_2d_point_in_simplex(point: PointLike, simplex: PointsLike, eps: float = 1e-8) -> bool: ... |
| 100 | +def fast_3d_circumcircle(points: PointsLike) -> tuple[tuple[float, ...], float]: ... |
| 101 | +def fast_3d_circumsphere(points: PointsLike) -> tuple[tuple[float, ...], float]: ... |
| 102 | +def fast_norm(point: PointLike) -> float: ... |
| 103 | +def orientation(face: PointsLike, origin: PointLike) -> int: ... |
| 104 | +def point_in_simplex(point: PointLike, simplex: PointsLike, eps: float = 1e-8) -> bool: ... |
| 105 | +def simplex_volume_in_embedding(vertices: PointsLike) -> float: ... |
| 106 | +def volume(simplex: PointsLike) -> float: ... |
0 commit comments