Quintiq file version 2.0 #parent: #root Method AdjusNodeYPos ( shadow[SCVNode] node, Boolean isupstream ) id:Method_FormSupplyChainVisualization_AdjusNodeYPos { #keys: '[132894.0.992363396]' Body: [* // Adjust nodes Y position // To adjust the Y position of the node, // go to all its kids node, find their middle Y position scvConfig := DataHolderSCVConfiguration.Data(); // Find the nodes using the key attribute inputNodes := selectset( scvConfig, SCVNode, n, n.Depth() = node.Depth() + 1 and n.IsUpstream() = isupstream and n.OwnerNodeKey() = node.Key().AsQUILL() ) // Compute the center position if( inputNodes.Size() > 0 ) { upperbound := max( inputNodes, Elements, e, e.Y() ); lowerbound := min( inputNodes, Elements, e, e.Y() ); node.Y( lowerbound + floor( ( upperbound - lowerbound ) / 2 ) ); } *] }