algorithmic modeling for Rhino
I think the SetDataList method seems to behave a little differently compared to others.
The SetDataList method increases path dimension.. i.e. adds a meaningless index to paths at the end..
So, many components using the method have an additional index on Output Data Set..
Shift.. Reverse.. Insert.. Replace.. Split.. Subset.. Sort.. P'n'C.. Weave.. in List Components..
Cull components.. Series.. Range.. Sequence.. Repeat.. Duplicate.. Fibonacci.. Jitter.. Random.. All Sequence Components..
List Item or List Length, originally designed for one output and might use SetData(),
don't increase any meaningless index..
I think it is because of the SetDataList() has path.AppendElement() internally..
It would be better, if this is fixed not to increase meaningless index..
Some beginners of Grasshopper are confused by too much long paths..
And Path Mapper will be not changed manually as often as it is now..
I attached a simple image comparing Item, List and Tree Access results..
They all have only one script.. "A=x;"
the extra dimension is not meaningless. If you add multiple items in the input, the extra index start to have meaning. I don't want the components to behave differently when they operate on multiple items, which is why the extra dimension is always added, even when it doesn't in fact provide new information.
Changing it now would also mean that probably every Grasshopper file out there that uses Path Mappers will become invalid, which is not a sacrifice I'm willing to make lightly.
Note how there are no superfluous indices in the paths of the final tree.
The first dimension mimics the path of the original surface, the second dimension identifies the the index of the original surface in its own list and the third index identifies the point column.
In fact, I have told about the extra index at the end of paths..
and originally Surface Divide makes different extra indices identifying point columns when only one surface is input..
But finally.. I got your point..
Thank you so much..
I attach a better example answering my question..
That explains why Shift Component has the extra index at the end of path..
I always used one item for Shift.Offset or grafted for multiple lists..
Thanks again.. ^^;