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