8.2. Узлы XPresso

Узлы XPresso собраны в иерархическую структуру на закладке X-Pool в левой части окна XPresso редактор (рис. 8.17). Для создания нового узла надо открыть папки Системные операторы -> XPresso, открыть нужную группу узлов и выбрать нужный узел.

Кроме перетаскивания мышью значка объекта из окна менеджера объектов на рабочее поле редактора XPresso, новый узел можно также создать с помощью контекстного меню (щелчок правой кнопкой) на свободном месте окна редактора XPresso (рис. 8.18). Рассмотрим характеристики узлов по группам.

8.2.1. Группа General

Содержимое группы приведено на рис. 8.19.

Узел Bounding Box

Узел позволяет получить доступ к размерам габаритного контейнера для объекта. Единственный порт ввода соединяется с портом вывода исследуемого объекта (тип данных должен быть Object) (рис. 8.20). Узел имеет следующие порты вывода (для всех тип данных Vector).

Box Point - выводит координаты одной (по порядковому номеру) из восьми вершин прямоугольного габаритного контейнера.

Box Size - выводит размеры контейнера.

Box Maximum - выводит координаты вершины прямоугольного габаритного контейнера, наиболее удаленной от начала координат: в области положительных значений координатных осей.

Box Minimum - выводит координаты вершины прямоугольного габаритного контейнера, наиболее удаленной от начала координат в области отрицательных значений координатных осей.

Рассмотрим пример. Узнаем характеристики габаритного контейнера для объекта Cube (Куб), размеры которого и расположение в окне проекций такие, какие они были при создании примитива (по умолчанию). Создав примитив Cube, переведите его в режим редактирования, щелкнув, например, на пиктограмме панели инструментов Make Object Editable.

Чтобы узнать габариты контейнера, составьте выражение XPresso (рис. 8.21), где узел Result, который будет рассмотрен позже, должен быть настроен на тип данных Vector. Это делается в окне менеджера атрибутов узла Result в поле Data Туре (рис. 8.22).

Как видно из рис. 8.21, по умолчанию контейнер примитива Cube имеет размеры 200x200x200. На рис. 8.23 приведены XPresso-выражения для определения координат вершин контейнера, наиболее удаленных от начала координат.

Самостоятельно определите координаты остальных вершин габаритного контейнера.

В окне менеджера атрибутов флажок Used Deformed Points позволяет учитывать изменения формы объекта в результате применения к нему деформаторов. Список Matrix Mode дает возможность выбрать между локальной и глобальной системами координат (рис. 8.24).

Узел Collision

Узел позволяет определять момент соударения двух объектов.

Создайте два примитива, например, куб и сферу, переведите их в полигональный вид, откройте окно редактора XPresso и составьте выражение, как показано на рис. 8.25.

Пока объекты не контактируют, узел Result показывает 0. Как только объекты войдут в контакт, узел Result покажет 1.

Узел Constant

Узел позволяет формировать на выходе константы различного типа. Значения константы задаются в поле Value (Значение) окна менеджера атрибутов узла (рис. 8.26). Там же из списка Data Туре (Тип данных) можно задать тип данных и значение часто используемых констант из списка Constant (Константа).


⇐ вернуться назад | | далее ⇒