Исходный код вики 03_collision
Редактировал(а) Bimit Administrator 22.05.2025, 10:15
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | Это интерфейс формирования списка коллизий (добавить/удалить в список). | ||
| 2 | В нем доступны следующие функции: | ||
| 3 | |||
| 4 | * [[createCollision>>path:#_Toc1]] - создание записи о коллизии | ||
| 5 | * [[boundsIntersect>>path:#_Toc2]] - проверка на пересечение границ 2 элементов | ||
| 6 | * [[getCollisionEssences>>path:#_Toc3]] - получение сущности коллизии между элементами | ||
| 7 | * [[setCollisionEssences>>path:#_Toc4]] - присвоить коллизии | ||
| 8 | |||
| 9 | (% class="box infomessage" %) | ||
| 10 | ((( | ||
| 11 | **{{id name="_Toc1"/}}createCollision** - создание записи о коллизии | ||
| 12 | ))) | ||
| 13 | |||
| 14 | * **collision.createCollision(String type, String description, String value, UUID model) ** - создание описания коллизии для определенной модели по типу возникшей коллизии, описанию возникшей коллизии, значению коллизии, идентификатору модели в которой возникла коллизия | ||
| 15 | * **collision.createCollision(Element a, String type, String description, String value) ** - создание описания коллизии для элемента по его идентификатору, у которого возникла коллизия, типу возникшей коллизии, описанию возникшей коллизии, значению коллизии | ||
| 16 | * **collision.createCollision(Element a, Element b, String type, String description, String value) ** - создание описания коллизии между двумя элементами по идентификаторам первого и второго элемента, у которого возникла коллизия, типу возникшей коллизии, описанию возникшей коллизии, значению коллизии | ||
| 17 | |||
| 18 | Все коллизии, которые были сформированы при работе плагина, будут отправлены на сохранение. | ||
| 19 | |||
| 20 | **Пример использования:** | ||
| 21 | |||
| 22 | {{code language="java"}} | ||
| 23 | collision.createCollision("Проверка длины", "Слишком короткая балка", length+" м", "UUID_model") | ||
| 24 | {{/code}} | ||
| 25 | |||
| 26 | |||
| 27 | (% class="box infomessage" %) | ||
| 28 | ((( | ||
| 29 | **{{id name="_Toc2"/}}boundsIntersect** - проверка на пересечение границ 2 элементов. | ||
| 30 | ))) | ||
| 31 | |||
| 32 | * **collision.boundsIntersect(double gap, Bounds boundsA, Bounds boundsB) ** - проверка пересечения между границами двух эдементов по зазору, на который уменьшается/увеличиваются границы, границам первого и второго элементов описанных объектами | ||
| 33 | * **collision.boundsIntersect(Bounds boundsA, Bounds boundsB) ** - проверка пересечения между границами двух элементов по границам первого и второго элемента, описанных объектами | ||
| 34 | * **collision.boundsIntersect(Vector3f minA, Vector3f maxA, Vector3f minB, Vector3f maxB) ** - проверка пересечения между границами двух элементов, указанных максимальными и минимальными координатами по минимальным и максимальным границам двух элементов | ||
| 35 | |||
| 36 | Границы формируют прямоугольный параллелепипед, в который вписана фигура | ||
| 37 | |||
| 38 | **Пример использования:** | ||
| 39 | |||
| 40 | {{code language="java"}} | ||
| 41 | collision.boundsIntersect(elementA.getBounds(), elementB.getBounds() возвращает true/false | ||
| 42 | {{/code}} | ||
| 43 | |||
| 44 | (% class="box infomessage" %) | ||
| 45 | ((( | ||
| 46 | **{{id name="_Toc3"/}}getCollisionEssences** - получение сущности коллизии между элементами | ||
| 47 | ))) | ||
| 48 | |||
| 49 | * **collision.getCollisionEssences() ** | ||
| 50 | |||
| 51 | **Пример использования:** | ||
| 52 | |||
| 53 | {{code language="java"}} | ||
| 54 | {{/code}} | ||
| 55 | |||
| 56 | (% class="box infomessage" %) | ||
| 57 | ((( | ||
| 58 | **{{id name="_Toc4"/}}setCollisionEssences** - присвоить коллизии | ||
| 59 | ))) | ||
| 60 | |||
| 61 | * **collision.setCollisionEssences(Map<String, CollisionEssence> collisionEssences) ** | ||
| 62 | |||
| 63 | **Пример использования:** | ||
| 64 | |||
| 65 | {{code language="java"}} | ||
| 66 | {{/code}} |