OpenSubdiv
Loading...
Searching...
No Matches
LimitStencilTableFactoryReal< REAL > Class Template Reference

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< LocationArrayLocationArrayVec
 

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.
 

Detailed Description

template<typename REAL>
class OpenSubdiv::OPENSUBDIV_VERSION::Far::LimitStencilTableFactoryReal< REAL >

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.

Member Typedef Documentation

◆ LocationArrayVec

typedef std::vector<LocationArray> LocationArrayVec

Definition at line 244 of file stencilTableFactory.h.

Member Enumeration Documentation

◆ Mode

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.

Member Function Documentation

◆ Create()

static LimitStencilTableReal< REAL > const * Create ( TopologyRefiner const &  refiner,
LocationArrayVec const &  locationArrays,
StencilTableReal< REAL > const *  cvStencils = 0,
PatchTable const *  patchTable = 0,
Options  options = Options() 
)
static

Instantiates LimitStencilTable from a TopologyRefiner that has been refined either uniformly or adaptively.

Parameters
refinerThe TopologyRefiner containing the topology
locationArraysAn array of surface location descriptors (see LocationArray)
cvStencilsA 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)
patchTableA 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)
optionsOptions controlling the creation of the table

The documentation for this class was generated from the following files: