int addprim(int geohandle, string type)
Создает полигон (polygon) или полилинию (polyline) без каких-либо точек. Затем вы можете добавить к примитиву вершины с помощью функции addvertex.
Обязательно добавьте хотя бы одну вершину к созданному примитиву. Хоть Houdini и умеет работать с пустыми полигонами, они могут вызвать странные результаты или ошибки.
int addprim(int geohandle, string type, int pt0)
int addprim(int geohandle, string type, int pt0, int pt1)
int addprim(int geohandle, string type, int pt0, int pt1, int pt2)
int addprim(int geohandle, string type, int pt0, int pt1, int pt2, int pt3)
Создает примитив, используя точки через их номера.
int addprim(int geohandle, string type, int points[])
Создает примитив, используя точки указанные в массиве в виде их номеров.
void addprim(int &prim_num, int geohandle, string type, int pt0, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int pt0, int pt1, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int pt0, int pt1, int pt2, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int pt0, int pt1, int pt2, int pt3, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int points[], int &vertices[])
Эти сигнатуры заполняют заданный массив вершин
новыми номерами вершин примитива, соответствующими указанным точкам. Вы можете использовать эти номера в функции setvertexattrib, чтобы установить атрибуты на вершинах, однако они могут быть не конечными номерами вершин.
Если примитив был создан, но любые точки были недействительными, соответствующие номера вершин в массиве будут равны -1
.
Эти сигнатуры перезаписывают переменную primnum
номером нового примитива, а не возвращают его.
geohandle
Идентификатор геометрии для записи. В настоящее время единственным допустимым значением является 0
или geoself, что означает текущую геометрию в ноде. Этот аргумент может использоваться в будущем, чтобы разрешить запись в другие геометрии.
type
Одна из следующих строк:
|
Закрытый полигон. Может использовать 0 и более точек. |
|
Открытый полигон. Может использовать 0 и более точек. |
|
Примитив тетраэдр . Требуются ровно 4 точки. Вы не можете добавить вершины к этому примитиву. |
|
Сфера, окружность, труба, метабол или метасуперквадратический примитив. Требуется ровно одна точка. Вы не можете добавить вершины к этим примитивам. |
|
Упакованный Alembic или packed disk primitive. Требуется ровно одна точка. Вы не можете добавить вершины к этим примитивам. |
Returns
Возвращает номер созданного примитива или -1
, если примитив не может быть создан.
Вы можете использовать возвращаемое значение в функции setprimattrib для установки атрибутов в новом примитиве, однако это может быть не конечный номер примитива.
Вы можете установить трансформации с помощью функции setprimintrinsic, например:
matrix3 transform_value = {{0, 0, 0}, {0, 0, 0}, {1, 1, 1}}; setprimintrinsic(geoself(), "transform", prim, transform_value);
Вы также можете установить интринсики Alembic и packed primitive, например:
setprimintrinsic(geoself(), "unexpandedfilename", prim, "test.bgeo");
See also | |
create | |
prim |
|