Mask and other small conveniences
Created by: zeffii
from: https://github.com/nortikin/sverchok/issues/1552
https://github.com/nortikin/sverchok/pull/1559 2. https://github.com/nortikin/sverchok/commit/967613f82efb76b5d2f98b3727025d81588dad77 )
Masks(new masking nodes 1.Polygon Face Mask Selection needs a way to just do List Mask by providing index: 1,5,12, etc I know this can be done already the hard way. Just like if use give 1,5, and we compare with range 0-6, we get False, True, False, False, True, False.
Good point, I agree (and have touched on the subject in the past). This would be implemented per node, preferably using a utility function that turns a list of indices into a mask list.
def mask_list_from_indices(mask_indices, data_to_mask):
It should take both... and be able to determine automatically (if it encounters values in the mask list above 1.. so if it gets 0,0,0,01,1,1,1,0,0,0
, it does the regular thing.. but if it gets 1,5,12
, it knows that those are not booleans/onoff, and will generate 0,1,0,0,0,1,0,0,0,0,0,0,1
Vector interpolation
A similar case can be made for vector Interpolation, rather than forcing us to pass float-lists between 0 and 1, the node can detect if we pass it an integer, it should generate the float-list by itself internally. If we pass it a 10, it should generate 0.0, 0.1 ..... 1.0
https://github.com/nortikin/sverchok/commit/cb11acc86e4f827e9f72662ec6ba5e72fc4f1844 )
Lathe (doneinterpret incoming Verts as sequential, if edges are not supplied.
if medges:
if verts_match_edges or (idx <= len(medges) - 1):
final_values['edges'] = medges[idx]
else:
final_values['edges'] = [(i, i+1) for i in range(len(verts)-1)]