On this page |
Основные функции
VEX имеет ряд функций для работы с группами геометрии:
Получают количество элементов в группе |
|
Проверяют нахождение указанного элемента в группе |
|
Преобразуют группу по имени или шаблону в список номеров точек/примитивов |
|
Изменяют содержимое группы по имени |
Добавление элемента в несуществующую группу создаст группу.
Получение существующих групп
Вы можете получить массив имен существующих групп, читая "intrinsic" detail атрибуты edgegroups
, pointgroups
, primitivegroups
или vertexgroups
.
string groups[] = detailintrinsic(0, "pointgroups")
Чтение групп в качестве атрибутов
Общая функция чтения атрибута attrib принимает аргумент attribclass
, который позволяет указать, с какого уровня геометрии (detail, primitive, point или vertex) необходимо считать атрибут.
Вместо этого вы можете указать "primgroup"
, "pointgroup"
или "vertexgroup"
в качестве класса для чтения содержимого группы, будто это обычный атрибут.
Когда вы указываете эти классы, "номер элемента" является индексом в списке групп, а "значение атрибута" является номером точки/примитива/вершины в указанном индексе в списке.
Получение номеров примитивов в группе примитивов foo
int group_size = attriblen() int prim_num; for (int i = 0; i < group_size; i++) { // При использовании класса "*group", номер элемента является индексом в списке групп prim_num = attrib(0, "primgroup", "foo", i) // ...делаем что-нибудь с примитивом... }