示例#1
0
 public static bool LinesIntersect2D(Point2D ptStart0, Point2D ptEnd0,
                                     Point2D ptStart1, Point2D ptEnd1,
                                     ref Point2D pIntersectionPt,
                                     double epsilon)
 {
     return(TriangulationUtil.LinesIntersect2D(ptStart0, ptEnd0, ptStart1, ptEnd1, true, true, false, ref pIntersectionPt, epsilon));
 }
示例#2
0
 /// <summary>
 /// Check for edge crossings
 /// </summary>
 /// <returns></returns>
 public bool IsSimple()
 {
     for (int i = 0; i < Count; ++i)
     {
         int iplus = NextIndex(i);
         for (int j = i + 1; j < Count; ++j)
         {
             int     jplus = NextIndex(j);
             Point2D temp  = null;
             if (TriangulationUtil.LinesIntersect2D(mPoints[i], mPoints[iplus], mPoints[j], mPoints[jplus], ref temp, mEpsilon))
             {
                 return(false);
             }
         }
     }
     return(true);
 }