一.点与线的处理
IntersectionResult Project(XYZ point) 该函数用来获取曲线上距离该点最近的点
上述函数分为两种情况:
1.如果曲线为直线,那么求取的点,肯定是通过做垂足获取的,即是距离最近的点。
2.如果是一般的曲线(有界限),那么如果通过垂足取得的点,在曲线上,那么就返回该点。如果通过垂足求取的点,不在曲线上,那么就会返回曲线的端点。
二.点是否在曲线内部
public bool IsInside(double param)
public bool IsInside(double param,out int end) end返回参数表示位置在哪里
三.线与线的处理
public SetComparisonResult Intersect(Curve curve);
public SetComparisonResult Intersect(Curve curve, out IntersectionResultArray resultArray);
第一个函数直接给出两条曲线的相交情况;
第二个函数不仅判断其相交情况,还会给出交点的信息等,需要说明的是IntersectionResultArray是输出值,如果没有交点,会输出为NULL;
SetComparisonResult.Overlap,共面且相交。
SetComparisonResult.Subset,共线,且只有一个交点,即两条有边界直线共线且首尾相连。
SetComparisonResult.Superset,共线;注:使用前需将其中一条曲线MakeUnbound();
SetComparisonResult.Disjoint,无交点,可能是共面且平行,也可能是空间内不共面;
SetComparisonResult.Equal,两条直线有重合部分(只有一个交点的情况除外)。