3939
4040__docformat__ = "reStructuredText"
4141
42- from typing import TYPE_CHECKING , Callable , List , Sequence , Tuple , Union , overload
42+ from typing import TYPE_CHECKING , Callable , Sequence , Union , overload
4343
4444if TYPE_CHECKING :
4545 from .bb import BB
4848from ._chipmunk_cffi import ffi , lib
4949from .vec2d import Vec2d
5050
51- _SampleFunc = Callable [[Tuple [float , float ]], float ]
51+ _SampleFunc = Callable [[tuple [float , float ]], float ]
5252
53- _Polyline = Union [List [ Tuple [float , float ]], List [Vec2d ]]
53+ _Polyline = Union [list [ tuple [float , float ]], list [Vec2d ]]
5454# Union is needed since List is invariant
55- # and Sequence cant be used since CFFI requires a List (or Tuple )
55+ # and Sequence cant be used since CFFI requires a list (or tuple )
5656
5757
5858def _to_chipmunk (polyline : _Polyline ) -> ffi .CData :
@@ -64,7 +64,7 @@ def _to_chipmunk(polyline: _Polyline) -> ffi.CData:
6464 return _line
6565
6666
67- def _from_polyline_set (_set : ffi .CData ) -> List [ List [Vec2d ]]:
67+ def _from_polyline_set (_set : ffi .CData ) -> list [ list [Vec2d ]]:
6868 lines = []
6969 for i in range (_set .count ):
7070 line = []
@@ -85,7 +85,7 @@ def is_closed(polyline: _Polyline) -> bool:
8585 return bool (lib .cpPolylineIsClosed (_to_chipmunk (polyline )))
8686
8787
88- def simplify_curves (polyline : _Polyline , tolerance : float ) -> List [Vec2d ]:
88+ def simplify_curves (polyline : _Polyline , tolerance : float ) -> list [Vec2d ]:
8989 """Returns a copy of a polyline simplified by using the Douglas-Peucker
9090 algorithm.
9191
@@ -105,7 +105,7 @@ def simplify_curves(polyline: _Polyline, tolerance: float) -> List[Vec2d]:
105105 return simplified
106106
107107
108- def simplify_vertexes (polyline : _Polyline , tolerance : float ) -> List [Vec2d ]:
108+ def simplify_vertexes (polyline : _Polyline , tolerance : float ) -> list [Vec2d ]:
109109 """Returns a copy of a polyline simplified by discarding "flat" vertexes.
110110
111111 This works well on straight edged or angular shapes, not as well on smooth
@@ -123,7 +123,7 @@ def simplify_vertexes(polyline: _Polyline, tolerance: float) -> List[Vec2d]:
123123 return simplified
124124
125125
126- def to_convex_hull (polyline : _Polyline , tolerance : float ) -> List [Vec2d ]:
126+ def to_convex_hull (polyline : _Polyline , tolerance : float ) -> list [Vec2d ]:
127127 """Get the convex hull of a polyline as a looped polyline.
128128
129129 :param polyline: Polyline to simplify.
@@ -138,7 +138,7 @@ def to_convex_hull(polyline: _Polyline, tolerance: float) -> List[Vec2d]:
138138 return hull
139139
140140
141- def convex_decomposition (polyline : _Polyline , tolerance : float ) -> List [ List [Vec2d ]]:
141+ def convex_decomposition (polyline : _Polyline , tolerance : float ) -> list [ list [Vec2d ]]:
142142 """Get an approximate convex decomposition from a polyline.
143143
144144 Returns a list of convex hulls that match the original shape to within
@@ -164,7 +164,7 @@ def convex_decomposition(polyline: _Polyline, tolerance: float) -> List[List[Vec
164164 return _from_polyline_set (_set )
165165
166166
167- class PolylineSet (Sequence [List [Vec2d ]]):
167+ class PolylineSet (Sequence [list [Vec2d ]]):
168168 """A set of Polylines.
169169
170170 Mainly intended to be used for its :py:meth:`collect_segment` function
@@ -180,7 +180,7 @@ def free(_set: ffi.CData) -> None:
180180
181181 self ._set = ffi .gc (lib .cpPolylineSetNew (), free )
182182
183- def collect_segment (self , v0 : Tuple [float , float ], v1 : Tuple [float , float ]) -> None :
183+ def collect_segment (self , v0 : tuple [float , float ], v1 : tuple [float , float ]) -> None :
184184 """Add a line segment to a polyline set.
185185
186186 A segment will either start a new polyline, join two others, or add to
@@ -201,14 +201,14 @@ def __len__(self) -> int:
201201 return self ._set .count
202202
203203 @overload
204- def __getitem__ (self , index : int ) -> List [Vec2d ]: ...
204+ def __getitem__ (self , index : int ) -> list [Vec2d ]: ...
205205
206206 @overload
207207 def __getitem__ (self , index : slice ) -> "PolylineSet" : ...
208208
209209 def __getitem__ (
210210 self , index : Union [int , slice ]
211- ) -> Union [List [Vec2d ], "PolylineSet" ]:
211+ ) -> Union [list [Vec2d ], "PolylineSet" ]:
212212 assert not isinstance (index , slice ), "Slice indexing not supported"
213213 if index >= self ._set .count :
214214 raise IndexError
@@ -238,7 +238,7 @@ def march_soft(
238238 :param sample_func: The sample function will be called for
239239 x_samples * y_samples spread across the bounding box area, and should
240240 return a float.
241- :type sample_func: ``func(point: Tuple [float, float]) -> float``
241+ :type sample_func: ``func(point: tuple [float, float]) -> float``
242242 :return: PolylineSet with the polylines found.
243243 """
244244 pl_set = PolylineSet ()
@@ -278,7 +278,7 @@ def march_hard(
278278 :param sample_func: The sample function will be called for
279279 x_samples * y_samples spread across the bounding box area, and should
280280 return a float.
281- :type sample_func: ``func(point: Tuple [float, float]) -> float``
281+ :type sample_func: ``func(point: tuple [float, float]) -> float``
282282 :return: PolylineSet with the polylines found.
283283 """
284284
0 commit comments