Quintiq file version 2.0
|
#parent: #root
|
Method PopulateEdgePositions (
|
output owning shadow[SCVConfiguration] scvConfig
|
) id:Method_FormSupplyChainVisualization_PopulateEdgePositions
|
{
|
#keys: '[134266.2.4972183]'
|
Body:
|
[*
|
// Populate edge positions using node positions
|
// Populate SCVEdge starting and target positions
|
|
traverse( scvConfig, SCVNode.SCVEdge, edge )
|
{
|
node1 := select( scvConfig, SCVNode, node,
|
edge.DestinationKey() = node.Key().AsQUILL() );
|
|
node2 := select( scvConfig, SCVNode, node,
|
edge.OriginKey() = node.Key().AsQUILL() );
|
|
sourceNode := ifexpr( edge.IsUpstream(), node1, node2 );
|
targetNode := ifexpr( edge.IsUpstream(), node2, node1 );
|
|
adjustmentX := scvConfig.NodeSize();
|
adjustmentY := floor( scvConfig.NodeSize() / 2 );
|
|
edge.FromX( sourceNode.X() + adjustmentX );
|
edge.FromY( sourceNode.Y() + adjustmentY );
|
edge.ToX( targetNode.X() );
|
edge.ToY( targetNode.Y() + adjustmentY );
|
|
// Assign label to the edge
|
quantity := 0.0;
|
label := this.ReturnEdgeLabel( &scvConfig, sourceNode, targetNode, quantity );
|
|
edge.Quantity( quantity );
|
edge.Label( label );
|
}
|
*]
|
}
|