Example #1
0
 /// <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);
 }
Example #2
0
 /// <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);
 }
Example #3
0
 /// <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;
 }
Example #4
0
		/// <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;
		}