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*/ ); 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |