Интерфейс collision

Редактировал(а) Bimit Administrator 24.06.2024, 10:31

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

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() 

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

setCollisionEssences - присвоить коллизии

  • collision.setCollisionEssences(Map<String, CollisionEssence> collisionEssences) 

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