跳转到内容

polyneighbours

始于版本17.0

int [] polyneighbours(<geometry>geometry, int primnum)

<geometry>

在节点上下文(如wrangle SOP)中运行时,此参数可以是一个表示输入编号(从0开始)的整数,用于指定读取几何体的来源。

或者,该参数也可以是一个指定几何体文件(例如.bgeo)的字符串。在Houdini内部运行时,可以是op:/path/to/sop形式的引用路径。

该函数返回与指定多边形共享边的所有多边形的图元编号数组。它使用半边(Half-Edge)数据结构,因此适用于支持该结构的几何体(即多边形)。

示例

以下代码大致等效于该函数的功能:

int[] polyneighbours(const string opname; const int primnum)
{
int result[] = {};
int start = primhedge(opname, primnum);
for (int hedge = start; hedge != -1; )
{
for (int nh = hedge_nextequiv(opname, hedge);
nh != hedge;
nh = hedge_nextequiv(opname, nh))
{
int prim = hedge_prim(opname, nh);
if (prim != -1 && prim != primnum)
{
append(result, prim);
}
}
hedge = hedge_next(opname, hedge);
if (hedge == start)
break;
}
return result;
}