Не подтверждена Коммит 3ce462e4 создал по автору Sergey's avatar Sergey Зафиксировано автором GitHub
Просмотр файлов

Repeater vectorization (#4601)

* fix vectorization problem

* limit for level 1 only
владелец 7c702746
......@@ -17,10 +17,10 @@
# ##### END GPL LICENSE BLOCK #####
import bpy
from bpy.props import BoolProperty, IntProperty, StringProperty
from bpy.props import BoolProperty, IntProperty
from sverchok.node_tree import SverchCustomTreeNode
from sverchok.data_structure import (updateNode, changable_sockets)
from sverchok.data_structure import (updateNode, changable_sockets, fixed_iter)
class ListRepeaterNode(bpy.types.Node, SverchCustomTreeNode):
......@@ -33,8 +33,6 @@ class ListRepeaterNode(bpy.types.Node, SverchCustomTreeNode):
level: IntProperty(name='level', default=1, min=0, update=updateNode)
number: IntProperty(name='number', default=1, min=1, update=updateNode)
unwrap: BoolProperty(name='unwrap', default=False, update=updateNode)
typ: StringProperty(name='typ', default='')
newsock: BoolProperty(name='newsock', default=False)
def draw_buttons(self, context, layout):
layout.prop(self, "level", text="level")
......@@ -46,22 +44,23 @@ class ListRepeaterNode(bpy.types.Node, SverchCustomTreeNode):
self.outputs.new('SvStringsSocket', "Data")
def sv_update(self):
if 'Data' in self.inputs and self.inputs['Data'].links:
if self.inputs['Data'].is_linked:
inputsocketname = 'Data'
outputsocketname = ['Data', ]
changable_sockets(self, inputsocketname, outputsocketname)
def process(self):
if not (self.inputs['Data'].is_linked and self.outputs['Data'].is_linked):
return
data = self.inputs['Data'].sv_get(deepcopy=False, default=[])
number = self.inputs['Number'].sv_get(deepcopy=False)[0]
data = self.inputs['Data'].sv_get(deepcopy=False)
Number = self.inputs['Number'].sv_get(default=[[self.number]], deepcopy=False)[0]
if self.level == 1: # only for 1 otherwise it changes behaviour dramatically
obj_num = max(len(data), len(number))
data = fixed_iter(data, obj_num) if data else []
out_ = self.count(data, self.level, Number)
out_ = self.count(data, self.level, number)
if self.unwrap:
out = []
if len(out_) > 0:
out = []
for o in out_:
out.extend(o)
else:
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать