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