Поиск пересечений¶
Содержание
- объект Поиск пересечений¶
Данный объект используется для поиска пересечений виртуального луча, исходящего из заданной точки, с объектами Сцены.
Обзор возможностей¶
Свойство |
Описание |
---|---|
Объект типа Система координат, определяющий начало и направление луча. Луч исходит из центра СК, а его направление противоположно оси Oz. |
|
Объект типа Группа, определяющий множество объектов, с которыми будет искаться пересечение. |
|
Длина виртуального луча, с которым рассчитываются пересечения, в метрах. |
|
Включение/отключение визуализации виртуального луча цилиндром. |
|
Радиус визуализации виртуального луча в метрах. |
|
Цвет цилиндра, исползуемого для визуализации. |
Событие |
Описание |
---|---|
Запускается при включении объекта. |
Действие |
Описание |
---|---|
Включает объект. |
- параметр Исходная система координат¶
Объект типа Система координат, определяющий начало и направление луча. Луч исходит из центра СК, а его направление противоположно оси Oz. Если выбранный объект или его родительские узлы имеет не единичный масштаб, это отразиться на свойствах Длина сегмента и Радиус луча.
- параметр Мировая система координат¶
Объект типа Группа, определяющий множество объектов, с которыми будет искаться пересечение. Важно, чтобы Исходная система координат являлся дочерним узлом Мировая система координат, в противном случае результат рассчета пересечений будет непредсказуем.
- параметр Длина сегмента¶
Длина виртуального луча, с которым рассчитываются пересечения, в метрах. Длина указывается в локальных координатах объекта, определяемого свойством Исходная система координат. Если расстояние между некоторым объектом и объектом, определенным свойством Исходная система координат, больше значения Мировая система координат, пересечение с этим объектом будет заранее отсутствовать.
- параметр Визуализация лучом¶
Включение/отключение визуализации виртуального луча цилиндром. Высота цилиндра не превышает значение параметра Длина сегмента, при этом, если найдено пересечение с некоторым объектом сцены, высота цилиндра соответсвует расстоянию до этого объекта.
- параметр Радиус луча¶
Радиус визуализации виртуального луча в метрах. Определяет радиус цилиндра при визуализации и не влияет на результат расчета пересечений.
- параметр Цвет луча¶
Цвет цилиндра, исползуемого для визуализации.
- событие Пересечение¶
Запускается при нахождении/отсутствии пересечения с заданным объектом сцены.
- Параметры
Пересечение с – Объект, наличие пересечения с которым проверяется.
Не найдено – аргумент, определяющий, должно ли событие приходить при отсутствии пересечения с заданным объектом или наоборот.
- действие Найти пересечение¶
Поиск пересечения с объектами и обновление визуализации, если она включена. Пересесения рассчитываются только с объектами, которые видны в сцене и у которых включен параметр Узел.Обработка мыши.
Поиск пересечений на практике¶
Чтобы обновлять отображение цилиндра, используемого для визуализации, необходимо в обязательном порядке вызывать действие Найти пересечение.
Пересесения рассчитываются только с объектами у которых включены Узел.Видимость и Узел.Обработка мыши. Если пересечение найдено с несколькими объектами, обработано будет пересечение с ближайшим.
Случай «Не найдено ни одного пересечения»¶
Если необходимо обработать случай, когда пересечение найдено, но не важен объектом, с которым оно найдено, необходимо в событии Пересечение параметр «Пересечение с» установить в значение «Не определено», а параметр «Не найдено» в значение false
.
Случай «Найдено какое-либо пересечение»¶
Если необходимо обработать случай, когда не найдено ни одного пересечения, необходимо в событии Пересечение параметр «Пересечение с» установить в значение «Не определено», а параметр «Не найдено» в значение true
.