Interface IST_CurveIntersector
  record tagTSTIntersectionPoint begin
TST2DPoint P;           /// геометрические координаты точки
IST_Curve* cc[2];       /// ссылки на кривые в результате пересечения которых получилась точка
STFloat t[2];           /// t[0] - параметр точки на первой кривой t[1] - параметр на второй кривой (H-параметр на прямой)
Integer NumCrv[2];      /// номера кривых
Integer ind;            /// индекс той кривой, которая идет наружу 0..1
Boolean cc2;
end TSTIntersectionPoint;*)
Intersection point of two planar curves
Geometric coordinates of point
References to intersecting curves (resulting in this point)
Curve parameters at intersection
t[0] - parameter on first curve, t[1] - parameter on second curve (H-parameter for line)
Curve indices
Index of outward curve (0..1)
Additional curve flag
Assembly: STCurveTypes.dll
  Syntax
  
    [Guid("1147EA08-1C81-4270-AA22-34ADD4CFD326")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IST_CurveIntersector
   
  Properties
  
  this[int]
  
  
  Declaration
  
    TSTIntersectionPoint this[int i] { get; set; }
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | int | i |  | 
    
  
  Property Value
  
  
  QntP
  Number of intersection points
Declaration
  
  Property Value
  
  Methods
  
  Delete(int)
  
  
  Declaration
  
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | int | i |  | 
    
  
  
  FindExtrem(IST_Curve, double, double, TST2DPoint)
  
  
  Declaration
  
    void FindExtrem(IST_Curve Curve, double t1, double t2, TST2DPoint Dir)
   
  Parameters
  
  
  FindExtremDiap(IST_Curve, double, double, TST2DPoint, double)
  
  
  Declaration
  
    void FindExtremDiap(IST_Curve Curve, double t1, double t2, TST2DPoint Dir, double Zr)
   
  Parameters
  
  
  IntersCurves(IST_Curve, IST_Curve)
  =1 если с2 примыкает к с1 слева и нигде не пересекает ее
=2 если с2 примыкает к с1 справа и нигде не пересекает ее
=3 если кривые имеют только совпадающие участки и нигде не расходятся
=4 если с1 и с2 пересекаются
Find all intersection points between two curves
0 - no intersection
1 - c2 touches c1 from left without crossing
2 - c2 touches c1 from right without crossing
3 - curves coincide without divergence
4 - curves intersect
Found points are added to internal list
Declaration
  
    int IntersCurves(IST_Curve c1, IST_Curve c2)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | int | intersection status: | 
    
  
  
  
  
  
  Declaration
  
    void IntersStraight(IST_Curve crv, double A, double B, double c)
   
  Parameters
  
  
  Reset()
  Reset intersection finder
Declaration
  
  
  SortCrv1Param()
  Sort points by first curve parameter
Declaration
  
  
  SortCrv2Param()
  Sort points by second curve parameter
Declaration