Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 10f9541

Browse files
committed
Deprecate point_at_t and document that a BezierSegment can be called
1 parent 35c5481 commit 10f9541

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

doc/api/bezier_api.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
.. automodule:: matplotlib.bezier
66
:members:
77
:undoc-members:
8+
:special-members: __call__
89
:show-inheritance:

lib/matplotlib/bezier.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,9 @@ class BezierSegment:
190190
"""
191191
A d-dimensional Bézier segment.
192192
193+
A BezierSegment can be called with an argument, either a scalar or an array-like
194+
object, to evaluate the curve at that/those location(s).
195+
193196
Parameters
194197
----------
195198
control_points : (N, d) array
@@ -223,6 +226,8 @@ def __call__(self, t):
223226
return (np.power.outer(1 - t, self._orders[::-1])
224227
* np.power.outer(t, self._orders)) @ self._px
225228

229+
@_api.deprecated(
230+
"3.11", alternative="Call the BezierSegment object with an argument.")
226231
def point_at_t(self, t):
227232
"""
228233
Evaluate the curve at a single point, returning a tuple of *d* floats.
@@ -336,10 +341,9 @@ def split_bezier_intersecting_with_closedpath(
336341
"""
337342

338343
bz = BezierSegment(bezier)
339-
bezier_point_at_t = bz.point_at_t
340344

341345
t0, t1 = find_bezier_t_intersecting_with_closedpath(
342-
bezier_point_at_t, inside_closedpath, tolerance=tolerance)
346+
lambda t: tuple(bz(t)), inside_closedpath, tolerance=tolerance)
343347

344348
_left, _right = split_de_casteljau(bezier, (t0 + t1) / 2.)
345349
return _left, _right

0 commit comments

Comments
 (0)