HDK
|
Create specific primitives by building from existing arrays. More...
#include <GT_PrimitiveBuilder.h>
Create specific primitives by building from existing arrays.
These methods construct GT primitives based on the attribute parsing style defined in GT_AttributeBuilder.
Each builder function specifies a number of fixed arguments describing the topology of the primitive. The function also takes variadic arguments which are passed through to the GT_AttributeBuilder function.
A simple example creating a simple point mesh
A simple example creating a curve mesh that has deformation motion blur
Definition at line 68 of file GT_PrimitiveBuilder.h.
|
static |
Build geometry for the given bounding box.
|
static |
Build a circle.
|
static |
Construct a single open curve.
The counts
array specifies the number of vertices for the curve.
npoints
entries.
|
static |
Construct a mesh of ncurves
open curves.
The curves are constructed using the basis
given. The counts
array specifies the number of vertices for each curve. The vtxlist
array contains an index for each vertex. The varying attributes are indexed using these indices. There should be sum(counts)
entries in the vtxlist
array.
sum(counts)
entries.
|
static |
Build a hyperboloid sheet
|
static |
Construct a mesh of NURBS curves
NURBS curves are defined by a hulls of control vertices.
ncurves
- The number of individual curves in the meshcounts
- The number of vertices in each curveorders
- The order of each curveknots
- Each curve should have counts
[i]+orders[i] knotstmin
, tmax
- The parametric range for the curve. tmin
should be >= to the first knot for the curve. tmax
should be >= tmin and <= the last knot for the curve.
|
static |
Construct a NURBS patch
A NURBS patch is defined by a hull of control vertices. The number of elements in the uknots array should be nu+uorder
. The number of elements in the vknots array should be nv+vorder
.
|
static |
Construct a patch
The patch is constructed using the given basis
. When the uwrap
or vwrap
flags are set, the patch will be wrapped (or periodic) in the given direction. The nu
and nv
values must match the periodicity and basis.
nu*nv
entries.
|
static |
Construct a patch mesh
A patch mesh is a collection of patches (all with the same basis)
nu
, nv
npatches
entries. These are the number of vertices in the u and v directions for each individual patch.uwrap
, vwrap
npatches
entries. These indicate whether each individual patch is wrapped (periodic) in each direction.
|
static |
Construct a point mesh
|
static |
Construct a single polygon
|
static |
Construct a mesh of npolys
polygons.
The counts
array specifies the number of vertices for each polygon. The vtxlist
array contains an index for each vertex. The varying attributes are indexed using these indices. There should be sum(counts)
entries in the vtxlist
array.
vtxlist
array. The array should have at least max(vtxlist)+1
entries.sum(counts)
entries in each of these arrays.
|
static |
Build a sphere.
|
static |
Construct a subdivision mesh of nfaces
faces.
The counts
array specifies the number of vertices for each face. The vtxlist
array contains an index for each vertex. The varying attributes are indexed using these indices. There should be sum(counts)
entries in the vtxlist
array.
vtxlist
array. The array should have at least max(vtxlist)+1
entries.sum(counts)
entries in each of these arrays.
|
static |
Build trim curves.
curves_per_loop
array should be nloops long. The number of curves (ncurves
) is the sum of the entries in this array.points_per_curve
array should be ncurves
long (i.e. one entry for each individual curve)curve_orders
array should be ncurves
longknots
array should have sum(points_per_curve) + sum(curve_orders)
entriesmin
and max
arrays should be ncurves
longuvw
array should be sum(points_per_curve)
entries long
|
static |
Build a tube.
|
static |
Build a curve mesh for the given bounding box.