Compare commits

...

2 Commits

View File

@ -240,29 +240,20 @@ var Pivot =
{
// collect modifiers effecting leaves
let modifiers = [];
let check = N.Step(inLeaf, "ModifyAt", false);
if(check)
{
modifiers = modifiers.concat(check);
}
check = N.Step(inLeaf, "ModifyDown", false);
if(check)
{
modifiers = modifiers.concat(check);
}
let collectModifier = n => modifiers.push(n);
let connectModifiers = n => modifiers.forEach(inModifier => N.Connect(inModifier, n, "ModifyOut", true));
N.Walk(collectModifier, inLeaf, "ModifyAt", false);
N.Walk(collectModifier, inLeaf, "ModifyDown", false);
if(modifiers.length)
{
// apply them to the branch
inLastBranch.ID.Walk = N.ID.Walk;
modifiers.forEach( inModifier => N.Connect(inModifier, inLastBranch, "ModifyOut") )
connectModifiers(inLastBranch);
// also walk them up and connect, but with "check unique" enabled
N.Walk( inNode=>
{
modifiers.forEach( inModifier => N.Connect(inModifier, inNode, "ModifyOut", true) )
}
, inLastBranch, "Hierarchy", false);
N.Walk(connectModifiers, inLastBranch, "Hierarchy", false);
}
// lastly connect the leaf to the branch
@ -275,7 +266,7 @@ var Pivot =
{
iterator = child => Pivot.Pivot(inRoot, child, inPivotIndicies, inSumIndicies, depth+1);
}
N.Step(inParent, "Hierarchy").forEach(iterator);
N.Walk(iterator, inParent, "Hierarchy");
return inParent;
},
Create(inPivotIndicies, inSumIndicies)
@ -304,13 +295,13 @@ var Pivot =
}
}
// disconnect terminal branches
N.Walk(()=>{}, inRoot, "Hierarchy", inNode=>{
N.Disconnect(inNode, null, "Leaf");
// disconnect leaves from terminal branches
N.Walk(()=>{}, inRoot, "Hierarchy", true, terminal=>{
N.Disconnect(terminal, null, "Leaf");
});
// disconnect from app
N.Disconnect(null, inRoot, "Pivot")
N.Disconnect(null, inRoot, "Pivot");
},
Modify(inNode)
{