On this page |
Обзор
|
В Houdini ребра обычно обрабатываются как ненаправленные и общие для граней. Однако для некоторых задач (например, упрощения или чистки геометрии) полезно рассматривать грани, будто каждая имеет свои собственные ребра. |
|
Вы можете думать об этом как о разбиении каждого общего ненаправленного ребра вдоль его длины на два полуребра. (Ребра на границах, конечно, имеют только одно "полуребро".) |
|
Каждое полуребро является направленным (имеет начальную и конечную вершину). |
|
Функции для работы с полуребрами позволяют вам быстро находить начальную и конечную вершину полуребра, следующее полуребро, получать другие полуребра того же ребра, а также находить все полуребра, связанные с данной точкой, и выполнять другие манипуляции. |
Эквивалентность
Два полуребра считаются эквивалентными, если относятся к одному и тому же общему ребру. На следующем рисунке три примитива имеют общее ребро. Полуребра e, f и g являются эквивалентными, так как относятся к одному и тому же общему ребру. Направленность не имеет значения – e считается эквивалентным f и g, даже если они имеют противоположные направления.
Начальная (и конечная) вершина полуребра однозначно идентифицируют его, что означает, что в качестве источника может быть не более одного полуребра с заданной вершиной. Это связано с тем, что вершина может принадлежать только одному примитиву. Однако, поскольку некоторые вершины могут быть подключены к одной и той же точке, полуребро может иметь общую начальную и конечные точки. Другой способ понимания эквивалентности состоит в том, что два полуребра эквивалентны, если их вершины подключены к одним и тем же двум точкам.
В каждом наборе эквивалентных полуребер есть одно первичное (primary) полуребро. Функции VEX позволяют вам проверить, является ли заданное полуребро первичным, а также найти эквивалентное первичное полуребро, если заданное не является первичным. В случае unshared edge имеется только единственное первичное полуребро.
Функции
Проверяет, является ли полуребро действительным |
|
Проверяет, является ли полуребро первичным |
|
Находит первичный эквивалент полуребра. Если полуребро относится к unshared edge, возвращается то же самое полуребро. |
|
Проверяет два полуребра на эквивалентность |
|
Перебирает эквивалентные полуребра |
|
Получает количество эквивалентных полуребер |
|
Получает начальную вершину полуребра |
|
Получает конечную вершину полуребра |
|
Получает вершину, предшествующую начальной вершине в примитиве полуребра |
|
Получает вершину, следующую за конечной вершиной в примитиве полуребра |
|
Получает примитив полуребра |
|
Получает начальную точку полуребра |
|
Получает конечную точку полуребра |
|
Получает точку, в которую подключена вершина, предшествущая начальной вершине полуребра |
|
Получает точку, в которую подключена вершина, следующая за конечной вершиной полуребра |
|
Получает следующее полуребро в примитиве |
|
Получает предыдущее полуребро в примитиве |
|
Находит полуребро между двумя точками |
|
Находит полуребро с заданной начальной и конечной точками |
|
Находит полуребро с заданной начальной точкой |
|
Перебирает полуребра с заданной начальной точкой |
|
Получает полуребро с заданной начальной вершиной |
|
Получает полуребро на заданном примитиве |