BIMIT
Разработка плагинов

collision

Это интерфейс формирования списка коллизий (добавить/удалить в список). В нем доступны следующие функции:

createCollision - создание записи о коллизии
  • collision.createCollision(String type, String description, String value, UUID model) - создание описания коллизии для определенной модели по типу возникшей коллизии, описанию возникшей коллизии, значению коллизии, идентификатору модели в которой возникла коллизия
  • collision.createCollision(Element a, String type, String description, String value) - создание описания коллизии для элемента по его идентификатору, у которого возникла коллизия, типу возникшей коллизии, описанию возникшей коллизии, значению коллизии
  • collision.createCollision(Element a, Element b, String type, String description, String value) - создание описания коллизии между двумя элементами по идентификаторам первого и второго элемента, у которого возникла коллизия, типу возникшей коллизии, описанию возникшей коллизии, значению коллизии

Все коллизии, которые были сформированы при работе плагина, будут отправлены на сохранение.

Пример использования:

collision.createCollision("Проверка длины", "Слишком короткая балка", length+" м", "UUID_model")
boundsIntersect - проверка на пересечение границ 2 элементов.
  • collision.boundsIntersect(double gap, Bounds boundsA, Bounds boundsB) - проверка пересечения между границами двух эдементов по зазору, на который уменьшается/увеличиваются границы, границам первого и второго элементов описанных объектами
  • collision.boundsIntersect(Bounds boundsA, Bounds boundsB) - проверка пересечения между границами двух элементов по границам первого и второго элемента, описанных объектами
  • collision.boundsIntersect(Vector3f minA, Vector3f maxA, Vector3f minB, Vector3f maxB) - проверка пересечения между границами двух элементов, указанных максимальными и минимальными координатами по минимальным и максимальным границам двух элементов

Границы формируют прямоугольный параллелепипед, в который вписана фигура

Пример использования:

collision.boundsIntersect(elementA.getBounds(), elementB.getBounds() возвращает true/false
getCollisionEssences - получение сущности коллизии между элементами
  • collision.getCollisionEssences()

Пример использования:

def collision = collision.getCollisionEssences()
setCollisionEssences - присвоить коллизии
  • collision.setCollisionEssences(Map<String, CollisionEssence> collisionEssences)

Пример использования:

collision.setCollisionEssences(collisionEssences)
Copyright © 2026