Quintiq file version 2.0
#parent: #root
Method PopulateYPosition (
  Boolean isupstream
) id:Method_FormSupplyChainVisualization_PopulateYPosition
{
  #keys: '[132894.0.921486874]'
  Body:
  [*
    // The previous step was to determine the Y positions
    // of all the nodes that no longer spreads out,
    // this step we utilize their positions to determine the Y positions
    // of the rest of the nodes
    scvConfig := DataHolderSCVConfiguration.Data();
    
    depth := ifexpr( isupstream, scvConfig.UpstreamDepth(), scvConfig.DownstreamDepth() )
    
    // Start from the outer most layer, converging towards middle
    for( i := depth - 1; i > 0; i-- )
    {
      traverse( scvConfig, SCVNode, node,
                node.IsUpstream() = isupstream
                and node.Depth() = i )
      {
        this.AdjusNodeYPos( node, isupstream /*isupstream*/ );
      }
    }
  *]
}
