OpenSubdiv
|
A specialized factory for LimitStencilTable. More...
#include <stencilTableFactory.h>
Classes | |
struct | LocationArray |
Descriptor for limit surface locations. More... | |
struct | Options |
Public Types | |
enum | Mode { INTERPOLATE_VERTEX =0 , INTERPOLATE_VARYING , INTERPOLATE_FACE_VARYING } |
typedef std::vector< LocationArray > | LocationArrayVec |
Static Public Member Functions | |
static LimitStencilTableReal< REAL > const * | Create (TopologyRefiner const &refiner, LocationArrayVec const &locationArrays, StencilTableReal< REAL > const *cvStencils=0, PatchTable const *patchTable=0, Options options=Options()) |
Instantiates LimitStencilTable from a TopologyRefiner that has been refined either uniformly or adaptively. | |
A specialized factory for LimitStencilTable.
The LimitStencilTableFactory creates a table of limit stencils. Limit stencils can interpolate any arbitrary location on the limit surface. The stencils will be bilinear if the surface is refined uniformly, and bicubic if feature adaptive isolation is used instead.
Surface locations are expressed as a combination of ptex face index and normalized (s,t) patch coordinates. The factory exposes the LocationArray struct as a container for these location descriptors.
Definition at line 209 of file stencilTableFactory.h.
typedef std::vector<LocationArray> LocationArrayVec |
Definition at line 244 of file stencilTableFactory.h.
enum Mode |
Enumerator | |
---|---|
INTERPOLATE_VERTEX | vertex primvar stencils |
INTERPOLATE_VARYING | varying primvar stencils |
INTERPOLATE_FACE_VARYING | face-varying primvar stencils |
Definition at line 213 of file stencilTableFactory.h.
|
static |
Instantiates LimitStencilTable from a TopologyRefiner that has been refined either uniformly or adaptively.
refiner | The TopologyRefiner containing the topology |
locationArrays | An array of surface location descriptors (see LocationArray) |
cvStencils | A StencilTable generated from the TopologyRefiner (Optional: prevents redundant instantiation of the table if available. The given table must at least contain stencils for all control points and all refined points – any stencils for local points of a PatchTable must match the PatchTable provided or internally generated) |
patchTable | A PatchTable generated from the TopologyRefiner (Optional: prevents redundant instantiation of the table if available. The given table must match the optional StencilTable if also provided) |
options | Options controlling the creation of the table |