| Quintiq file version 2.0 | 
| #parent: #root | 
| Method PopulateXPosition ( | 
|   output owning shadow[SCVConfiguration] scvConfig, | 
|   shadow[SCVNode] root | 
| ) id:Method_FormSupplyChainVisualization_PopulateXPosition | 
| { | 
|   #keys: '[132894.0.868223396]' | 
|   Body: | 
|   [* | 
|     // Go to all child nodes and populate their position | 
|     // We know the depth of the node, so depending if they | 
|     // are upstream or downstream, their X pos are just | 
|     // OffsetX * depth, to the left or to the right of the root | 
|      | 
|     traverse( scvConfig, SCVNode, node ) | 
|     { | 
|       offset := node.Depth() * scvConfig.OffsetX(); | 
|       if( node.IsUpstream() ) | 
|       { | 
|         // Upstream to the left of root | 
|         node.X( root.X() - offset ); | 
|       } | 
|       else | 
|       { | 
|         // Downstream to the right of root | 
|         node.X( root.X() + offset ); | 
|       }  | 
|     } | 
|   *] | 
| } |