Kevin Kok Khah Whey
2023-09-25 34d29be6a3eb0c025da50b77f2107c4ad259c6c0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Quintiq file version 2.0
#parent: #root
Method PopulateYPosition (
  output owning shadow[SCVConfiguration] scvConfig,
  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
    
    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.AdjustNodeYPos( &scvConfig, node, isupstream /*isupstream*/ );
      }
    }
  *]
}