et tree structure.
Now let's say, wen have this original tree structure:
{0;0}
0 A
1 B
{0;1}
0 C
1 D
{0;2}
0 E
1 F
{0;3}
0 G
1 H
{0; just joking :D} ... so we have 4 paths and in each of them there is a list with whatever any two objects ... So the source mask should be {0;x}(y), where x = 0,1,2,3?! or is x = 3?! and y = 0,1 or is y=1 ... what's "static", what's "dynamic"? ... How to understand what?! ...
So let's say I want to get a tree, that looks that way:
{0;1}
0 A
1 B
2 C
3 D
{0;2}
0 E
1 F
2 G
3 H
What do I have to understand here? ... Thank you for the help and support in advance ...…
0;3} (N = 2)
{0;0;0;4} (N = 2)
{0;0;1;0} (N = 2)
{0;0;1;1} (N = 2)
{0;0;1;2} (N = 2)
{0;0;1;3} (N = 2)
{0;0;1;4} (N = 2)
Flattening this structure using the Flatten component would result in:
{0} (N = 20)
However, using a Path Mapper with the following masks will flatten is somewhat more intelligently:
{A;B;C;D} -> {A;B;C}
Now, you get:
{0;0;0} (N = 10)
{0;0;1} (N = 10)
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 3:19am on December 14, 2009
For example.
If you have two lists of points.
List A List B
{0;0;0}(0) {0;0}(0)
{0;0;1}(0) {0;1}(0)
{0;2}(0)
{0;3}(0)
{0;4}(0)
And you want to merge the two lists so that the two points in list A are the end points.
Merge Lists Results:
{0;0}(0)
{0;0;0}(0)
{0;0;1}(0)
{0;1}(0)
{0;2}(0)
{0;3}(0)
{0;4}(0)
Because of their path structures the order is wrong from a simple merge so Flattening now is out of the question.
Path Mapper
{A;B} --> {A;B+1}
{A;B;C} --> {A;C*6}
---------------------
Results:
{0;0} --> {0;0+1} = {0;1}
{0;1} --> {0;1+1} = {0;2}
{0;2} --> {0;2+1} = {0;3}
{0;3} --> {0;3+1} = {0;4}
{0;4} --> {0;4+1} = {0;5}
{0;0;0} --> {0;0*6} = {0;0}
{0;0;1} --> {0;1*6} = {0;6}
Now with the Path Structures similar when they are re-ordered the results will have the two points of list A as the end points.
Question 2
why did the curve-line intersection lose the path structure? Both trees had 38 branches.
Both trees had 38 Paths but Tree A had more Items, 147 compared to 38 in Tree B.
So you get this happening:
{0;0;0;0;0;0}(0) compared to {0;0;0;0}(0) results: Null {0;0;0;0;0;0}(0)
Base result paths on longest
{0;0;1;0;0;0}(0) compared to {0;0;0;1}(0) results: Null {0;0;1;0;0;0}(0)
{0;0;2;0;0;0}(0) compared to {0;0;0;2}(0) results: Yes {0;0;2;0;0;0;0}(0)
Add a branch to contain result
{0;0;3;0;0;0}(0) compared to {0;0;0;3}(0) results: Yes {0;0;3;0;0;0;0}(0)
{0;0;3;0;0;0}(1) compared to {0;0;0;3}(0) results: No {0;0;3;0;0;0;1}(0)
{0;0;4;0;0;0}(0) compared to {0;0;0;4}(0) results: Yes {0;0;4;0;0;0;0}(0)
{0;0;4;0;0;0}(1) compared to {0;0;0;4}(0) results: Yes {0;0;4;0;0;0;1}(0)
{0;0;5;0;0;0}(0) compared to {0;0;0;5}(0) results: Yes {0;0;5;0;0;0;0}(0)
{0;0;5;0;0;0}(1) compared to {0;0;0;5}(0) results: Yes {0;0;5;0;0;0;1}(0)
{0;0;5;0;0;0}(2) compared to {0;0;0;5}(0) results: Yes {0;0;5;0;0;0;2}(0)
...... etc
…
the same length, but the total length of items is the same. Consider the following flat lists (short for convinience):
L1: A B C D E F G H and L2: 0 0 0 1 2 2 2 3. L1 could be a list of strings or numbers, L2 defines a category. The end result should be {0;0} A {0;1} B {0;2} C {1;0} D {2;0} E {2;1} F {2;2} G {3;0} H
Using L2 getting the target paths, or even the index where the first list should be splitted, is fairly simple.
However, I just can't find a component that can divide L1 accordingly. In order it to be useful for longer lists and larger set of categories, the solution should not rely on an array of components for each branch.…