Spaces:
Running
on
Zero
Running
on
Zero
class FloatRange: | |
def INPUT_TYPES(s): | |
return {"required": { | |
"start": ("FLOAT", {"default": 0.0, "min": -100.0, "max": 100.0, 'step': 0.000000001}), | |
"stop": ("FLOAT", {"default": 1.0, "min": -100.0, "max": 100.0, 'step': 0.000000001}), | |
"step": ("FLOAT", {"default": 0.01, "min": 0.0, "max": 100.0, 'step': 0.000000001}), | |
"limit": ("INT", {"default": 100, "min": 2, "max": 4096, "step": 1}), | |
"ensure_end": ("BOOLEAN", {"default": True, "label_on": "enable", "label_off": "disable"}), | |
} | |
} | |
RETURN_TYPES = ("FLOAT",) | |
OUTPUT_IS_LIST = (True,) | |
FUNCTION = "doit" | |
CATEGORY = "InspirePack/Util" | |
def doit(self, start, stop, step, limit, ensure_end): | |
if start == stop or step == 0: | |
return ([start], ) | |
reverse = False | |
if start > stop: | |
reverse = True | |
start, stop = stop, start | |
res = [] | |
x = start | |
last = x | |
while x <= stop and limit > 0: | |
res.append(x) | |
last = x | |
limit -= 1 | |
x += step | |
if ensure_end and last != stop: | |
if len(res) >= limit: | |
res.pop() | |
res.append(stop) | |
if reverse: | |
res.reverse() | |
return (res, ) | |
NODE_CLASS_MAPPINGS = { | |
"FloatRange //Inspire": FloatRange, | |
} | |
NODE_DISPLAY_NAME_MAPPINGS = { | |
"FloatRange //Inspire": "Float Range (Inspire)" | |
} | |