3DCoat  3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
OpenSubdiv::v3_4_3::Far::StencilTableFactoryReal< REAL > Class Template Reference

A specialized factory for StencilTable. More...

#include <stencilTableFactory.h>

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. More...
 
static StencilTableReal< REAL >
const * 
Create (int numTables, StencilTableReal< REAL > const **tables)
 Instantiates StencilTable by concatenating an array of existing stencil tables. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

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

A specialized factory for StencilTable.

Member Enumeration Documentation

Enumerator
INTERPOLATE_VERTEX 

vertex primvar stencils

INTERPOLATE_VARYING 

varying primvar stencils

INTERPOLATE_FACE_VARYING 

face-varying primvar stencils

Member Function Documentation

template<typename REAL>
StencilTableReal< REAL > const * OpenSubdiv::v3_4_3::Far::StencilTableFactoryReal< REAL >::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.
template<typename REAL>
StencilTableReal< REAL > const * OpenSubdiv::v3_4_3::Far::StencilTableFactoryReal< REAL >::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.
template<typename REAL>
static StencilTableReal<REAL> const* OpenSubdiv::v3_4_3::Far::StencilTableFactoryReal< REAL >::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.
template<typename REAL >
StencilTableReal< REAL > const * OpenSubdiv::v3_4_3::Far::StencilTableFactoryReal< REAL >::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

References OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetLevel(), OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetMaxLevel(), OpenSubdiv::v3_4_3::Far::TopologyLevel::GetNumFVarValues(), and OpenSubdiv::v3_4_3::Far::TopologyLevel::GetNumVertices().

template<typename REAL>
StencilTableReal< REAL > const * OpenSubdiv::v3_4_3::Far::StencilTableFactoryReal< REAL >::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

References OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetControlIndices(), OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetNumControlVertices(), and OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetNumStencils().


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