Quintiq file version 2.0
|
#parent: CustomDrawComponentSupplyChainVisualization/CustomDrawDataLayerSCVEdge
|
Response OnDetermineRegion (
|
shadow[SCVEdge] object
|
) id:Response_CustomDrawComponentSupplyChainVisualization_CustomDrawDataLayerSCVEdge_OnDetermineRegion
|
{
|
#keys: '[132894.0.877947950]'
|
Body:
|
[*
|
// Determine region for Edge
|
scvconfig := DataHolderSCVConfiguration.Data();
|
padding := 6;
|
|
sourceNode := select( scvconfig, SCVNode, node,
|
object.DestinationKey() = node.Key().AsQUILL() );
|
|
targetNode := select( scvconfig, SCVNode, node,
|
object.OriginKey() = node.Key().AsQUILL() );
|
|
adjustmentX := scvconfig.NodeSize();
|
adjustmentY := floor( scvconfig.NodeSize() / 2 );
|
|
region := construct( Polygon );
|
x0 := ifexpr( sourceNode.IsUpstream(), sourceNode.X(), targetNode.X() ) + adjustmentX;
|
y0 := ifexpr( sourceNode.IsUpstream(), sourceNode.Y(), targetNode.Y() ) + adjustmentY;
|
x1 := ifexpr( sourceNode.IsUpstream(), targetNode.X(), sourceNode.X() );
|
y1 := ifexpr( sourceNode.IsUpstream(), targetNode.Y(), sourceNode.Y() ) + adjustmentY;
|
|
// Adding points in a polygon must be in a clockwise manner
|
region.AddPoint( x0, y0 + padding );
|
region.AddPoint( x1, y1 + padding );
|
region.AddPoint( x1, y1 - padding );
|
region.AddPoint( x0, y0 - padding );
|
|
this.AddRegion( region );
|
*]
|
CanBindMultiple: false
|
DefinitionID: 'Responsedef_CustomDrawDataLayer_OnDetermineRegion'
|
}
|