From 1e85c7b6194acafed1036e89b52a71ac3a1cae30 Mon Sep 17 00:00:00 2001 From: frank <420@shampoo.ooo> Date: Mon, 24 May 2021 22:56:54 -0400 Subject: [PATCH] omit steps from get range steps --- pgfw/extension.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pgfw/extension.py b/pgfw/extension.py index feebba3..b3e3762 100644 --- a/pgfw/extension.py +++ b/pgfw/extension.py @@ -88,9 +88,19 @@ def get_point_on_circle(center, radius, angle, translate_angle=True): return Vector(center[0] + sin(angle) * radius, center[1] - cos(angle) * radius) -def get_range_steps(start, end, count): +def get_range_steps(start, end, count, omit=[]): + ''' + Iterator that yields `count` number of steps from `start` to `end` as floats. Indicies in the + omit parameter will be skipped + ''' + # normalize array indicies (for example -1 becomes count - 1) + for ii in range(len(omit)): + omit[ii] = omit[ii] % count for ii in range(count): - yield start + (end - start) * ii / float(count - 1) + if ii in omit: + continue + else: + yield start + (end - start) * ii / float(count - 1) def get_percent_way(iterable): for ii in range(len(iterable)):