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); }
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)); }