Beispiel #1
0
 /// <summary>
 /// Проверка того, содержит ли данная область размещения параллелепипед.
 /// </summary>
 /// <param name="rect">Параллелепипед.</param>
 /// <param name="eps">Погрешность.</param>
 /// <returns>Возвращает true, если область размещения полностью содержит параллелепипед.</returns>
 public bool IsContaine(Rect rect, double eps = 0)
 {
     bool is_containe = true;
     for (int i = 0; i < Dim && is_containe; i++)
     {
         is_containe = (Min(i) <= rect.Min(i) + eps);
         if (freez[i])
             is_containe = is_containe && (rect.Max(i) <= Max(i) + eps);
     }
     return is_containe;
 }
Beispiel #2
0
 /// <summary>
 /// Проверка на пересечение с параллелепипедом.
 /// </summary>
 /// <param name="rect">Параллелепипед.</param>
 /// <param name="eps">Погрешность.</param>
 /// <returns>Возвращает true, если произошло пересечение с параллелепипедом.</returns>
 public bool IsCollideWith(Rect rect, double eps = 0)
 {
     bool is_collide = true;
     for (int i = 0; i < Dim && is_collide; i++)
         is_collide = (Min(i) < rect.Max(i) - eps) && (rect.Min(i) < Max(i) - eps);
     return is_collide;
 }