/// <summary> /// 比较并获取三角形邻居边索引 /// </summary> /// <param name="triNext">三角形</param> /// <returns>邻边索引</returns> public int GetNeighborWall(Triangle triNext) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (GetSide(i).Equals(triNext.GetSide(j))) { return(i); } } } return(-1); }
/// <summary> /// Checks the cross. /// </summary> /// <returns><c>true</c>, if cross was checked, <c>false</c> otherwise.</returns> /// <param name="line">Line.</param> /// <param name="tri">Tri.</param> public static bool CheckCross(Line2D line, Triangle tri) { for (int i = 0; i < 3; i++) { Line2D lineTri = tri.GetSide(i); if (CheckCross(line.GetStartPoint(), line.GetEndPoint(), lineTri.GetStartPoint(), lineTri.GetEndPoint()) ) { return(true); } } return(false); }
/// <summary> /// 比较并获取三角形邻居边索引 /// </summary> /// <param name="triNext">三角形</param> /// <returns>邻边索引</returns> public int GetNeighborWall(Triangle triNext) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (GetSide(i).Equals(triNext.GetSide(j))) return i; } } return -1; }
/// <summary> /// Checks the cross. /// </summary> /// <returns><c>true</c>, if cross was checked, <c>false</c> otherwise.</returns> /// <param name="line">Line.</param> /// <param name="tri">Tri.</param> public static bool CheckCross( Line2D line , Triangle tri ) { for(int i = 0 ; i < 3 ; i++ ) { Line2D lineTri = tri.GetSide(i); if( CheckCross(line.GetStartPoint() , line.GetEndPoint() , lineTri.GetStartPoint() , lineTri.GetEndPoint()) ) { return true; } } return false; }