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

A specialized factory for StencilTable. More...

#include <stencilTableFactory.h>

Classes

struct  Options
 

Public Types

enum  Mode {
  INTERPOLATE_VERTEX =0 ,
  INTERPOLATE_VARYING ,
  INTERPOLATE_FACE_VARYING
}
 

Static Public Member Functions

static StencilTableReal< REAL > const * Create (TopologyRefiner const &refiner, Options options=Options())
 Instantiates StencilTable from TopologyRefiner that have been refined uniformly or adaptively.
 
static StencilTableReal< REAL > const * Create (int numTables, StencilTableReal< REAL > const **tables)
 Instantiates StencilTable by concatenating an array of existing stencil tables.
 
static StencilTableReal< REAL > const * AppendLocalPointStencilTable (TopologyRefiner const &refiner, StencilTableReal< REAL > const *baseStencilTable, StencilTableReal< REAL > const *localPointStencilTable, bool factorize=true)
 Utility function for stencil splicing for local point stencils.
 
static StencilTableReal< REAL > const * AppendLocalPointStencilTableVarying (TopologyRefiner const &refiner, StencilTableReal< REAL > const *baseStencilTable, StencilTableReal< REAL > const *localPointStencilTable, bool factorize=true)
 Utility function for stencil splicing for local point varying stencils.
 
static StencilTableReal< REAL > const * AppendLocalPointStencilTableFaceVarying (TopologyRefiner const &refiner, StencilTableReal< REAL > const *baseStencilTable, StencilTableReal< REAL > const *localPointStencilTable, int channel=0, bool factorize=true)
 Utility function for stencil splicing for local point face-varying stencils.
 

Detailed Description

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

A specialized factory for StencilTable.

Definition at line 51 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 55 of file stencilTableFactory.h.

Member Function Documentation

◆ AppendLocalPointStencilTable()

static StencilTableReal< REAL > const * AppendLocalPointStencilTable ( TopologyRefiner const &  refiner,
StencilTableReal< REAL > const *  baseStencilTable,
StencilTableReal< REAL > const *  localPointStencilTable,
bool  factorize = true 
)
static

Utility function for stencil splicing for local point stencils.

Parameters
refinerThe TopologyRefiner containing the topology
baseStencilTableInput StencilTable for refined vertices
localPointStencilTableStencilTable for the change of basis patch points.
factorizeIf factorize is set to true, endcap stencils will be factorized with supporting vertices from baseStencil table so that the endcap points can be computed directly from control vertices.

◆ AppendLocalPointStencilTableFaceVarying()

static StencilTableReal< REAL > const * AppendLocalPointStencilTableFaceVarying ( TopologyRefiner const &  refiner,
StencilTableReal< REAL > const *  baseStencilTable,
StencilTableReal< REAL > const *  localPointStencilTable,
int  channel = 0,
bool  factorize = true 
)
static

Utility function for stencil splicing for local point face-varying stencils.

Parameters
refinerThe TopologyRefiner containing the topology
baseStencilTableInput StencilTable for refined vertices
localPointStencilTableStencilTable for the change of basis patch points.
channelface-varying channel
factorizeIf factorize is set to true, endcap stencils will be factorized with supporting vertices from baseStencil table so that the endcap points can be computed directly from control vertices.

◆ AppendLocalPointStencilTableVarying()

static StencilTableReal< REAL > const * AppendLocalPointStencilTableVarying ( TopologyRefiner const &  refiner,
StencilTableReal< REAL > const *  baseStencilTable,
StencilTableReal< REAL > const *  localPointStencilTable,
bool  factorize = true 
)
inlinestatic

Utility function for stencil splicing for local point varying stencils.

Parameters
refinerThe TopologyRefiner containing the topology
baseStencilTableInput StencilTable for refined vertices
localPointStencilTableStencilTable for the change of basis patch points.
factorizeIf factorize is set to true, endcap stencils will be factorized with supporting vertices from baseStencil table so that the endcap points can be computed directly from control vertices.

Definition at line 148 of file stencilTableFactory.h.

◆ Create() [1/2]

static StencilTableReal< REAL > const * Create ( int  numTables,
StencilTableReal< REAL > const **  tables 
)
static

Instantiates StencilTable by concatenating an array of existing stencil tables.

Note
This factory checks that the stencil tables point to the same set of supporting control vertices - no re-indexing is done. GetNumControlVertices() must return the same value for all input tables.
Parameters
numTablesNumber of input StencilTables
tablesArray of input StencilTables

◆ Create() [2/2]

static StencilTableReal< REAL > const * Create ( TopologyRefiner const &  refiner,
Options  options = Options() 
)
static

Instantiates StencilTable from TopologyRefiner that have been refined uniformly or adaptively.

Note
The factory only creates stencils for vertices that have already been refined in the TopologyRefiner. Use RefineUniform() or RefineAdaptive() before constructing the stencils.
Parameters
refinerThe TopologyRefiner containing the topology
optionsOptions controlling the creation of the table

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