Модификатор EditPoly
Из справки MaxScript:
Geometry Data Methods
<index>GetEdgeVertex <index>edgeID <index>end node:<node>
node default value: undefined -- undefined - значение ноды по умолчанию
Returns the indexed vertex shared by the specified edge. -- Возвращает индекс вершины, используемой ребром.
Разбираемся:
Работающий код:
p = Plane() -- создадим примитив плоскость
addModifier p (Edit_Poly ()) -- применим модификатор Edit_Poly
obj = $.modifiers[#Edit_Poly] -- засунем модификатор в переменную obj
obj.GetEdgeVertex 1 1 -- Вернётся 6. Возвращается индекс первой из двух вершин указанного ребра
obj.GetEdgeVertex 1 2 -- Вернётся 1. Возвращается индекс второй из двух вершин указанного ребра
obj.GetEdgeVertex 39 1 -- Вернётся 25. Возвращается индекс первой из двух вершин указанного ребра
obj.GetEdgeVertex 39 2 -- Вернётся 24. Возвращается индекс второй из двух вершин указанного ребра
Как видим, конструкцию из хэлпа,
<index>GetEdgeVertex <index>edgeID <index>end node:<node> не возможно использовать прямо в том виде, как она представлена в качестве маски для подстановки переменных, поэтому разложим всё по порядку.
<index> -- возвращаемое значение (в данном случае индекс вершины)
|
|
GetEdgeVertex -- функция, которой передаются параметры
<index>edgeID -- индекс ребра
<index>end -- одна из двух вершин указанного ребра (в данном случае она есть или 1 или 2)
node:<node> -- нода, или сам объект, в котором применяется эта функция
А вот получается как из этого можно сконструировать маску для сборки кода:
<node>. GetEdgeVertex <index>edgeID <index>end
<> - такие скобки в хэлпе означают, что это обязательный параметр, необходимый для работы функции.
[] - квадратные скобки (если такие есть) - это опциональный (необязательный, дополнительный) параметр
Аналогичный метод есть и в Editable Poly
Раздел Get Edge
<index><EditablePoly>.GetEdgeVertex <index>edgeID <index>end
Returns the vertex index used by the specified edge. -- Возвращает индекс вершины, используемой ребром.
Since an edge has two vertices, the end argument is needed to define which of the two vertices of the edge to get.
-- Поскольку ребро имеет две вершины, конечный аргумент нужен, чтобы определить, какой из двух вершин ребра получить.
EXAMPLE:
p = convertToPoly(Plane()) --create a Plane, convert to Epoly
p.GetEdgeVertex 1 1 --returns vertex 6
p.GetEdgeVertex 1 2 --returns vertex 1
p.GetEdgeVertex 4 1 --returns vertex 1
p.GetEdgeVertex 4 2 --returns vertex 2
_______________________________________________________________