fix closed splines

This commit is contained in:
jrkb 2025-05-14 17:21:26 +02:00
parent c95e010f81
commit 19c86420f8

View file

@ -228,10 +228,15 @@ def calc_point_on_bezier_spline(
lengths = [] lengths = []
total_length = 0 total_length = 0
n_bezier_points = len(bezier_spline_obj.bezier_points) n_bezier_points = len(bezier_spline_obj.bezier_points)
for i in range(0, len(bezier_spline_obj.bezier_points) - 1): real_n_bezier_points = len(bezier_spline_obj.bezier_points)
if bezier_spline_obj.use_cyclic_u:
n_bezier_points += 1
for i in range(0, n_bezier_points - 1):
i_a = i % (n_bezier_points - 1)
i_b = (i_a + 1) % real_n_bezier_points
bezier = [ bezier = [
bezier_spline_obj.bezier_points[i], bezier_spline_obj.bezier_points[i_a],
bezier_spline_obj.bezier_points[i + 1], bezier_spline_obj.bezier_points[i_b],
] ]
length = calc_bezier_length( length = calc_bezier_length(
bezier[0], bezier[0],