def update(self): multi_socket(self, min=2) if 'x0' in self.inputs and len(self.inputs['x0'].links) > 0: inputsocketname = self.inputs[0].name outputsocketname = [ 'data', ] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and len(self.outputs['data'].links) > 0: if 'x0' in self.inputs and len(self.inputs['x0'].links) > 0: X = SvGetSocketAnyType(self, self.inputs['data']) slots = [] for socket in self.inputs: if socket.links: slots.append(SvGetSocketAnyType(self, socket)) if len(slots) < 2: return X_ = dataCorrect(X) result = [] for socket in slots: result.extend(self.f(X_, dataCorrect(socket))) SvSetSocketAnyType(self, 'data', result)
def update(self): if 'Data' in self.inputs and len(self.inputs['Data'].links) > 0: inputsocketname = 'Data' outputsocketname = ['Item', 'Other'] changable_sockets(self, inputsocketname, outputsocketname) if 'Item' in self.outputs and self.outputs['Item'].links or \ 'Other' in self.outputs and self.outputs['Other'].links: if 'Data' in self.inputs and self.inputs['Data'].links: data = SvGetSocketAnyType(self, self.inputs['Data']) if 'Item' in self.inputs and self.inputs['Item'].links: items = SvGetSocketAnyType(self, self.inputs['Item']) else: items = [[self.item]] if 'Item' in self.outputs and self.outputs['Item'].links: if self.level - 1: out = self.get(data, self.level - 1, items, self.get_items) else: out = self.get_items(data, items[0]) SvSetSocketAnyType(self, 'Item', out) if 'Other' in self.outputs and self.outputs['Other'].links: if self.level - 1: out = self.get(data, self.level - 1, items, self.get_other) else: out = self.get_other(data, items[0]) SvSetSocketAnyType(self, 'Other', out)
def update(self): if 'Data' in self.inputs and len(self.inputs['Data'].links) > 0: inputsocketname = 'Data' outputsocketname = ['Item', 'Other'] changable_sockets(self, inputsocketname, outputsocketname) if 'Item' in self.outputs and self.outputs['Item'].links or \ 'Other' in self.outputs and self.outputs['Other'].links: if 'Data' in self.inputs and self.inputs['Data'].links: data = SvGetSocketAnyType(self, self.inputs['Data']) if 'Item' in self.inputs and self.inputs['Item'].links: items = SvGetSocketAnyType(self, self.inputs['Item']) else: items = [[self.item]] if 'Item' in self.outputs and self.outputs['Item'].links: if self.level-1: out = self.get(data, self.level-1, items, self.get_items) else: out = self.get_items(data, items[0]) SvSetSocketAnyType(self, 'Item', out) if 'Other' in self.outputs and self.outputs['Other'].links: if self.level-1: out = self.get(data, self.level-1, items, self.get_other) else: out = self.get_other(data, items[0]) SvSetSocketAnyType(self, 'Other', out)
def update(self): if 'data' in self.inputs and self.inputs['data'].links: # get any type socket from input: data = SvGetSocketAnyType(self, self.inputs['data']) # Process data leve = min((levelsOflist(data)-2), self.level) result = self.beat(data, leve, leve) # multisocket - from util(formula node) multi_socket(self, min=1, start=2, breck=True, output=len(result)) # adaptive socket - from util(mask list node) # list to pack and change type of multysockets in output... maybe not so quick outputsocketname = [name.name for name in self.outputs] changable_sockets(self, 'data', outputsocketname) self.multi_socket_type = get_socket_type_full(self, 'data') # how to assign correct property to adaptive output: # in nearest future with socket's data' dictionary we will send # only node_name+layout_name+socket_name in str() format # and will make separate definition to easyly assign and # get and recognise data from dictionary for i, out in enumerate(result): SvSetSocket(self.outputs[i], out) if i >= 32: break
def update(self): # достаём два слота - вершины и полики if 'Data' in self.inputs and self.inputs['Data'].links: inputsocketname = 'Data' outputsocketname = ['Data', ] changable_sockets(self, inputsocketname, outputsocketname) data = SvGetSocketAnyType(self, self.inputs['Data']) if 'Number' in self.inputs and self.inputs['Number'].links: tmp = SvGetSocketAnyType(self, self.inputs['Number']) Number = tmp[0] else: Number = [self.number] if 'Data' in self.outputs and self.outputs['Data'].links: out_ = self.count(data, self.level, Number) if self.unwrap: if len(out_) > 0: out = [] for o in out_: out.extend(o) else: out = out_ SvSetSocketAnyType(self, 'Data', out)
def update(self): if self.inputs['Data'].links: # адаптивный сокет inputsocketname = 'Data' outputsocketname = ["Middl", 'First', 'Last'] changable_sockets(self, inputsocketname, outputsocketname) if 'First' in self.outputs and self.outputs['First'].links or \ 'Last' in self.outputs and self.outputs['Last'].links or \ 'Middl' in self.outputs and self.outputs['Middl'].links: data = SvGetSocketAnyType(self, self.inputs['Data']) # blocking too height values of levels, reduce levels = levelsOflist(data) - 2 if levels >= self.level: levels = self.level - 1 elif levels < 1: levels = 1 # assign out if self.outputs['First'].links: out = self.count(data, levels, 0) SvSetSocketAnyType(self, 'First', out) if self.outputs['Middl'].links: out = self.count(data, levels, 1) SvSetSocketAnyType(self, 'Middl', out) if self.outputs['Last'].links: out = self.count(data, levels, 2) SvSetSocketAnyType(self, 'Last', out)
def update(self): # inputs multi_socket(self, min=1) if 'data' in self.inputs and len(self.inputs['data'].links) > 0: inputsocketname = 'data' outputsocketname = ['data'] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and self.outputs['data'].links: slots = [] for socket in self.inputs: if socket.links: slots.append(SvGetSocketAnyType(self, socket)) if len(slots) == 0: return list_result = joiner(slots, self.JoinLevel) result = list_result.copy() if self.mix_check: list_mix = myZip_2(slots, self.JoinLevel) result = list_mix.copy() if self.wrap_check: list_wrap = wrapper_2(slots, list_result, self.JoinLevel) result = list_wrap.copy() if self.mix_check: list_wrap_mix = wrapper_2(slots, list_mix, self.JoinLevel) result = list_wrap_mix.copy() SvSetSocketAnyType(self, 'data', result)
def update(self): # достаём два слота - вершины и полики if 'Data' in self.inputs and self.inputs['Data'].links: inputsocketname = 'Data' outputsocketname = [ 'Data', ] changable_sockets(self, inputsocketname, outputsocketname) data = SvGetSocketAnyType(self, self.inputs['Data']) if 'Number' in self.inputs and self.inputs['Number'].links: tmp = SvGetSocketAnyType(self, self.inputs['Number']) Number = tmp[0] else: Number = [self.number] if 'Data' in self.outputs and self.outputs['Data'].links: out_ = self.count(data, self.level, Number) if self.unwrap: if len(out_) > 0: out = [] for o in out_: out.extend(o) else: out = out_ SvSetSocketAnyType(self, 'Data', out)
def update(self): if 'data' in self.inputs and self.inputs['data'].links: # get any type socket from input: data = SvGetSocketAnyType(self, self.inputs['data']) # Process data leve = min((levelsOflist(data) - 2), self.level) result = self.beat(data, leve, leve) # multisocket - from util(formula node) multi_socket(self, min=1, start=2, breck=True, output=len(result)) # adaptive socket - from util(mask list node) # list to pack and change type of multysockets in output... maybe not so quick outputsocketname = [name.name for name in self.outputs] changable_sockets(self, 'data', outputsocketname) self.multi_socket_type = get_socket_type_full(self, 'data') # how to assign correct property to adaptive output: # in nearest future with socket's data' dictionary we will send # only node_name+layout_name+socket_name in str() format # and will make separate definition to easyly assign and # get and recognise data from dictionary for i, out in enumerate(result): SvSetSocket(self.outputs[i], out) if i >= 32: break
def update(self): if 'data' in self.inputs and len(self.inputs['data'].links) > 0: # адаптивный сокет inputsocketname = 'data' outputsocketname = ['data'] changable_sockets(self, inputsocketname, outputsocketname) data = SvGetSocketAnyType(self, self.inputs['data']) output = self.revers(data, self.level) SvSetSocketAnyType(self, 'data', output)
def update(self): if 'data' in self.inputs and len(self.inputs['data'].links) > 0: inputsocketname = 'data' outputsocketname = ['data', ] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and len(self.outputs['data'].links) > 0: data = SvGetSocketAnyType(self, self.inputs['data']) userlevelb = literal_eval('['+self.Sverch_LisLev+']') SvSetSocketAnyType(self, 'data', preobrazovatel(data, userlevelb))
def update(self): if not 'Out' in self.outputs: return if self.inputs and self.inputs[0].links: in_socket = 'In' out_socket = ['Out'] changable_sockets(self, in_socket, out_socket) if self.outputs[0].links: data = SvGetSocketAnyType(self, self.inputs[0], deepcopy=False) SvSetSocketAnyType(self, 'Out', data)
def update(self): # адаптивный сокет inputsocketname = 'data' outputsocketname = ['data'] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and self.outputs['data'].links: outEval = SvGetSocketAnyType(self, self.inputs['data']) outCorr = dataCorrect(outEval) # this is bullshit, as max 3 in levels levels = self.level-1 out = self.flip(outCorr, levels) SvSetSocketAnyType(self, 'data', out)
def update(self): # адаптивный сокет inputsocketname = 'data' outputsocketname = ['data'] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and self.outputs['data'].links: outEval = SvGetSocketAnyType(self, self.inputs['data']) outCorr = dataCorrect( outEval) # this is bullshit, as max 3 in levels levels = self.level - 1 out = self.flip(outCorr, levels) SvSetSocketAnyType(self, 'data', out)
def update(self): # changable types sockets in output # you need the next: # typ - needed self value # newsocket - needed self value # inputsocketname to get one socket to define type # outputsocketname to get list of outputs, that will be changed inputsocketname = 'data' outputsocketname = ['dataTrue', 'dataFalse'] changable_sockets(self, inputsocketname, outputsocketname) # input sockets if 'data' not in self.inputs: return False data = [[]] mask = [[1, 0]] if self.inputs['data'].links: data = SvGetSocketAnyType(self, self.inputs['data']) if self.inputs['mask'].links and \ type(self.inputs['mask'].links[0].from_socket) == StringsSocket: mask = SvGetSocketAnyType(self, self.inputs['mask']) result = self.getMask(data, mask, self.Level) # outupy sockets data if 'dataTrue' in self.outputs and self.outputs['dataTrue'].is_linked: SvSetSocketAnyType(self, 'dataTrue', result[0]) else: SvSetSocketAnyType(self, 'dataTrue', [[]]) # print ('всё',result) if 'dataFalse' in self.outputs and self.outputs['dataFalse'].is_linked: SvSetSocketAnyType(self, 'dataFalse', result[1]) else: SvSetSocketAnyType(self, 'dataFalse', [[]]) if 'mask' in self.outputs and self.outputs['mask'].is_linked: SvSetSocketAnyType(self, 'mask', result[2]) else: SvSetSocketAnyType(self, 'mask', [[]]) if 'ind_true' in self.outputs and self.outputs['ind_true'].is_linked: SvSetSocketAnyType(self, 'ind_true', result[3]) else: SvSetSocketAnyType(self, 'ind_true', [[]]) if 'ind_false' in self.outputs and self.outputs['ind_false'].is_linked: SvSetSocketAnyType(self, 'ind_false', result[4]) else: SvSetSocketAnyType(self, 'ind_false', [[]])
def update(self): # inputs multi_socket(self, min=2, start=-1, breck=True) if 'X' in self.inputs and len(self.inputs['X'].links) > 0: # адаптивный сокет inputsocketname = 'X' outputsocketname = ['Result'] changable_sockets(self, inputsocketname, outputsocketname) vecs = SvGetSocketAnyType(self, self.inputs['X']) else: vecs = [[0.0]] # outputs if 'Result' in self.outputs and len(self.outputs['Result'].links) > 0: list_mult = [] if 'n[0]' in self.inputs and len(self.inputs['n[0]'].links) > 0: i = 0 for socket in self.inputs: if socket.links and i != 0: list_mult.append(SvGetSocketAnyType(self, socket)) else: i = 1 #print(list_mult) code_formula = parser.expr(self.formula).compile() # finding nasty levels, make equal nastyness (canonical 0,1,2,3) levels = [levelsOflist(vecs)] for n in list_mult: levels.append(levelsOflist(n)) maxlevel = max(max(levels), 3) diflevel = maxlevel - levels[0] if diflevel: vecs_ = dataSpoil([vecs], diflevel - 1) vecs = dataCorrect(vecs_, nominal_dept=2) for i, lev in enumerate(levels): if i == 0: continue diflevel = maxlevel - lev if diflevel: list_temp = dataSpoil([list_mult[i - 1]], diflevel - 1) list_mult[i - 1] = dataCorrect(list_temp, nominal_dept=2) #print(list_mult) r = self.inte(vecs, code_formula, list_mult, 3) result = dataCorrect(r, nominal_dept=min((levels[0] - 1), 2)) SvSetSocketAnyType(self, 'Result', result)
def update(self): # inputs multi_socket(self, min=2, start=-1, breck=True) if 'X' in self.inputs and len(self.inputs['X'].links) > 0: # адаптивный сокет inputsocketname = 'X' outputsocketname = ['Result'] changable_sockets(self, inputsocketname, outputsocketname) vecs = SvGetSocketAnyType(self, self.inputs['X']) else: vecs = [[0.0]] # outputs if 'Result' in self.outputs and len(self.outputs['Result'].links) > 0: list_mult = [] if 'n[0]' in self.inputs and len(self.inputs['n[0]'].links) > 0: i = 0 for socket in self.inputs: if socket.links and i != 0: list_mult.append(SvGetSocketAnyType(self, socket)) else: i = 1 #print(list_mult) code_formula = parser.expr(self.formula).compile() # finding nasty levels, make equal nastyness (canonical 0,1,2,3) levels = [levelsOflist(vecs)] for n in list_mult: levels.append(levelsOflist(n)) maxlevel = max(max(levels), 3) diflevel = maxlevel - levels[0] if diflevel: vecs_ = dataSpoil([vecs], diflevel-1) vecs = dataCorrect(vecs_, nominal_dept=2) for i, lev in enumerate(levels): if i == 0: continue diflevel = maxlevel-lev if diflevel: list_temp = dataSpoil([list_mult[i-1]], diflevel-1) list_mult[i-1] = dataCorrect(list_temp, nominal_dept=2) #print(list_mult) r = self.inte(vecs, code_formula, list_mult, 3) result = dataCorrect(r, nominal_dept=min((levels[0]-1), 2)) SvSetSocketAnyType(self, 'Result', result)
def update(self): if 'Data' in self.inputs and self.inputs['Data'].links: inputsocketname = 'Data' outputsocketname = ['Split'] changable_sockets(self, inputsocketname, outputsocketname) if 'Split' in self.outputs and self.outputs['Split'].links: if 'Data' in self.inputs and self.inputs['Data'].links: data = SvGetSocketAnyType(self, self.inputs['Data']) sizes = self.inputs['Split'].sv_get()[0] if self.unwrap: out = self.get(data, self.level_unwrap, sizes) elif self.level: out = self.get(data, self.level, sizes) else: out = split(data, sizes[0]) SvSetSocketAnyType(self, 'Split', out)
def update(self): if 'data' in self.inputs and self.inputs['data'].links: # адаптивный сокет inputsocketname = 'data' outputsocketname = ['data'] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and self.outputs['data'].links: if 'seed' not in self.inputs: seed = self.seed else: seed = self.inputs['seed'].sv_get()[0][0] random.seed(seed) data = SvGetSocketAnyType(self, self.inputs['data']) output = self.shuffle(data, self.level) SvSetSocketAnyType(self, 'data', output)
def update(self): # multisocket - from util(formula node) multi_socket(self, min=2) if 'x0' in self.inputs and len(self.inputs['x0'].links) > 0: # adaptive socket - from util(mask list node) inputsocketname = self.inputs[ 0].name # is you need x0 to define socket type - set 0 to 1 outputsocketname = [ 'data', ] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and len(self.outputs['data'].links) > 0: if 'x0' in self.inputs and len(self.inputs['x0'].links) > 0: # get any type socket from input: X = SvGetSocketAnyType(self, self.inputs['data']) slots = [] for socket in self.inputs: if socket.links: slots.append(SvGetSocketAnyType(self, socket)) # determine if you have enough inputs for make output # if not return # examples: all but last (last is never connected) # len(slots) == len(self.inputs)-1 # if more than 2 etc. if len(slots) < 2: return # Process data X_ = dataCorrect(X) result = [] for socket in slots: result.extend(self.f(X_, dataCorrect(socket))) # how to assign correct property to adaptive output: # in nearest future with socket's data' dictionary we will send # only node_name+layout_name+socket_name in str() format # and will make separate definition to easyly assign and # get and recognise data from dictionary SvSetSocketAnyType(self, 'data', result)
def update(self): if 'data' in self.inputs and len(self.inputs['data'].links) > 0: # адаптивный сокет inputsocketname = 'data' outputsocketname = ['data'] changable_sockets(self, inputsocketname, outputsocketname) # достаём два слота - вершины и полики if 'data' in self.outputs and len(self.outputs['data'].links) > 0 \ and 'data' in self.inputs and len(self.inputs['data'].links) > 0: data_ = SvGetSocketAnyType(self, self.inputs['data']) # init_level = levelsOflist(data) data = dataCorrect(data_, nominal_dept=self.level) out_ = [] for obj in data: out_.append(svQsort(obj)) out = dataCorrect(out_) SvSetSocketAnyType(self, 'data', out)
def update(self): if 'Data' in self.inputs and len(self.inputs['Data'].links) > 0: # адаптивный сокет inputsocketname = 'Data' outputsocketname = ['Item', 'Other'] changable_sockets(self, inputsocketname, outputsocketname) if 'Item' in self.outputs and self.outputs['Item'].links or \ 'Other' in self.outputs and self.outputs['Other'].links: if 'Data' in self.inputs and self.inputs['Data'].links: data = SvGetSocketAnyType(self, self.inputs['Data']) if 'Item' in self.outputs and self.outputs['Item'].links: out = self.count(data, self.level - 1, self.item, True) SvSetSocketAnyType(self, 'Item', out) if 'Other' in self.outputs and self.outputs['Other'].links: out = self.count(data, self.level - 1, self.item, False) SvSetSocketAnyType(self, 'Other', out)
def update(self): if 'Data' in self.inputs and len(self.inputs['Data'].links) > 0: # адаптивный сокет inputsocketname = 'Data' outputsocketname = ['Item', 'Other'] changable_sockets(self, inputsocketname, outputsocketname) if 'Item' in self.outputs and self.outputs['Item'].links or \ 'Other' in self.outputs and self.outputs['Other'].links: if 'Data' in self.inputs and self.inputs['Data'].links: data = SvGetSocketAnyType(self, self.inputs['Data']) if 'Item' in self.outputs and self.outputs['Item'].links: out = self.count(data, self.level-1, self.item, True) SvSetSocketAnyType(self, 'Item', out) if 'Other' in self.outputs and self.outputs['Other'].links: out = self.count(data, self.level-1, self.item, False) SvSetSocketAnyType(self, 'Other', out)
def update(self): if 'Data' not in self.outputs: return if not self.outputs['Data'].links: return inputsocketname = 'Data True' outputsocketname = ['Data'] changable_sockets(self, inputsocketname, outputsocketname) if all((s.links for s in self.inputs[1:])): if self.inputs['Mask'].links: mask = SvGetSocketAnyType(self, self.inputs['Mask']) else: # to match MaskList mask = [[1, 0]] data_t = SvGetSocketAnyType(self, self.inputs['Data True']) data_f = SvGetSocketAnyType(self, self.inputs['Data False']) data_out = self.get_level(mask, data_t, data_f, self.level-1) SvSetSocketAnyType(self, 'Data', data_out)
def update(self): if 'Data' not in self.outputs: return if not self.outputs['Data'].links: return inputsocketname = 'Data True' outputsocketname = ['Data'] changable_sockets(self, inputsocketname, outputsocketname) if all((s.links for s in self.inputs[1:])): if self.inputs['Mask'].links: mask = SvGetSocketAnyType(self, self.inputs['Mask']) else: # to match MaskList mask = [[1, 0]] data_t = SvGetSocketAnyType(self, self.inputs['Data True']) data_f = SvGetSocketAnyType(self, self.inputs['Data False']) data_out = self.get_level(mask, data_t, data_f, self.level - 1) SvSetSocketAnyType(self, 'Data', data_out)
def update(self): # inputs multi_socket(self, min=1) if 'data' in self.inputs and self.inputs['data'].links: # адаптивный сокет inputsocketname = 'data' outputsocketname = ['data'] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and self.outputs['data'].links: slots = [] for socket in self.inputs: if socket.links: slots.append(SvGetSocketAnyType(self, socket)) if len(slots) < 2: return output = self.myZip(slots, self.level) if self.unwrap: output = preobrazovatel(output, [2,3]) SvSetSocketAnyType(self, 'data', output)
def update(self): # multisocket - from util(formula node) multi_socket(self, min=2) if 'x0' in self.inputs and len(self.inputs['x0'].links) > 0: # adaptive socket - from util(mask list node) inputsocketname = self.inputs[0].name # is you need x0 to define socket type - set 0 to 1 outputsocketname = ['data', ] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and len(self.outputs['data'].links) > 0: if 'x0' in self.inputs and len(self.inputs['x0'].links) > 0: # get any type socket from input: X = SvGetSocketAnyType(self, self.inputs['data']) slots = [] for socket in self.inputs: if socket.links: slots.append(SvGetSocketAnyType(self, socket)) # determine if you have enough inputs for make output # if not return # examples: all but last (last is never connected) # len(slots) == len(self.inputs)-1 # if more than 2 etc. if len(slots) < 2: return # Process data X_ = dataCorrect(X) result = [] for socket in slots: result.extend(self.f(X_, dataCorrect(socket))) # how to assign correct property to adaptive output: # in nearest future with socket's data' dictionary we will send # only node_name+layout_name+socket_name in str() format # and will make separate definition to easyly assign and # get and recognise data from dictionary SvSetSocketAnyType(self, 'data', result)
def update(self): if 'data' in self.inputs and len(self.inputs['data'].links) > 0: # адаптивный сокет inputsocketname = 'data' outputsocketname = ['data'] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and self.outputs['data'].links: if 'shift' in self.inputs and self.inputs['shift'].links and \ type(self.inputs['shift'].links[0].from_socket) == StringsSocket: number = SvGetSocketAnyType(self, self.inputs['shift']) # не знаю насколько целесообразно #if type(number)!=list or type(number[0])!=list or type(number[0][0])!=int: #number = [[0]] else: number = [[self.shift_c]] data = SvGetSocketAnyType(self, self.inputs['data']) output = self.shift(data, number, self.enclose, self.level) SvSetSocketAnyType(self, 'data', output)
def update(self): if "Data" in self.inputs and len(self.inputs["Data"].links) > 0: inputsocketname = "Data" outputsocketname = ["Slice", "Other"] changable_sockets(self, inputsocketname, outputsocketname) if ( "Slice" in self.outputs and self.outputs["Slice"].links or "Other" in self.outputs and self.outputs["Other"].links ): if "Data" in self.inputs and self.inputs["Data"].links: data = SvGetSocketAnyType(self, self.inputs["Data"]) if "Start" in self.inputs and self.inputs["Start"].links: start = SvGetSocketAnyType(self, self.inputs["Start"])[0] else: start = [self.start] if "Stop" in self.inputs and self.inputs["Stop"].links: stop = SvGetSocketAnyType(self, self.inputs["Stop"])[0] else: stop = [self.stop] if "Slice" in self.outputs and self.outputs["Slice"].links: if self.level: out = self.get(data, start, stop, self.level, self.slice) else: out = self.slice(data, start[0], stop[0]) SvSetSocketAnyType(self, "Slice", out) if "Other" in self.outputs and self.outputs["Other"].links: if self.level: out = self.get(data, start, stop, self.level, self.other) else: out = self.other(data, start[0], stop[0]) SvSetSocketAnyType(self, "Other", out)
def update(self): if 'Data' in self.inputs and len(self.inputs['Data'].links) > 0: inputsocketname = 'Data' outputsocketname = ['Slice', 'Other'] changable_sockets(self, inputsocketname, outputsocketname) if 'Slice' in self.outputs and self.outputs['Slice'].links or \ 'Other' in self.outputs and self.outputs['Other'].links: if 'Data' in self.inputs and self.inputs['Data'].links: data = SvGetSocketAnyType(self, self.inputs['Data']) if 'Start' in self.inputs and self.inputs['Start'].links: start = SvGetSocketAnyType(self, self.inputs['Start'])[0] else: start = [self.start] if 'Stop' in self.inputs and self.inputs['Stop'].links: stop = SvGetSocketAnyType(self, self.inputs['Stop'])[0] else: stop = [self.stop] if 'Slice' in self.outputs and self.outputs['Slice'].links: if self.level: out = self.get(data, start, stop, self.level, self.slice) else: out = self.slice(data, start[0], stop[0]) SvSetSocketAnyType(self, 'Slice', out) if 'Other' in self.outputs and self.outputs['Other'].links: if self.level: out = self.get(data, start, stop, self.level, self.other) else: out = self.other(data, start[0], stop[0]) SvSetSocketAnyType(self, 'Other', out)
def update(self): multi_socket(self, min=2) if 'x0' in self.inputs and len(self.inputs['x0'].links) > 0: inputsocketname = self.inputs[0].name outputsocketname = ['data', ] changable_sockets(self, inputsocketname, outputsocketname) if 'data' in self.outputs and len(self.outputs['data'].links) > 0: if 'x0' in self.inputs and len(self.inputs['x0'].links) > 0: X = SvGetSocketAnyType(self, self.inputs['data']) slots = [] for socket in self.inputs: if socket.links: slots.append(SvGetSocketAnyType(self, socket)) if len(slots) < 2: return X_ = dataCorrect(X) result = [] for socket in slots: result.extend(self.f(X_, dataCorrect(socket))) SvSetSocketAnyType(self, 'data', result)