Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method DetermineOverlap (LibOpt_UIGraphArc arc) const declarative remote as Number 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    a_left  := min( this, UIGraphArcPoint, point, true, point.X() ); 
 | 
    a_right := max( this, UIGraphArcPoint, point, true, point.X() ); 
 | 
     
 | 
    b_left  := min( arc, UIGraphArcPoint, point, true, point.X() ); 
 | 
    b_right := max( arc, UIGraphArcPoint, point, true, point.X() ); 
 | 
     
 | 
    value := LibOpt_UIGraphArc::NoOverlap(); 
 | 
    if( a_left < b_left ) 
 | 
    { 
 | 
      if( a_right >= b_right ) 
 | 
      { 
 | 
        value := LibOpt_UIGraphArc::OverlapOuter(); 
 | 
      } 
 | 
      else if( b_left < a_right ) 
 | 
      { 
 | 
        value := LibOpt_UIGraphArc::OverlapLeft(); 
 | 
      } 
 | 
    } 
 | 
    else if( a_left = b_left ) 
 | 
    { 
 | 
      if( a_right < b_right ) 
 | 
      { 
 | 
        value := LibOpt_UIGraphArc::OverlapInner(); 
 | 
      } 
 | 
      else if( a_right = b_right ) 
 | 
      { 
 | 
        value := LibOpt_UIGraphArc::OverlapEqual(); 
 | 
      } 
 | 
      else 
 | 
      { 
 | 
        value := LibOpt_UIGraphArc::OverlapOuter(); 
 | 
      } 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      if( a_right <= b_right ) 
 | 
      { 
 | 
        value := LibOpt_UIGraphArc::OverlapInner(); 
 | 
      } 
 | 
      else if( a_left < b_right ) 
 | 
      { 
 | 
        value := LibOpt_UIGraphArc::OverlapRight(); 
 | 
      } 
 | 
    } 
 | 
     
 | 
    return value; 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |