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

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

template<typename REAL>

typedef std::vector<LocationArray> LocationArrayVec

Definition at line 244 of file stencilTableFactory.h.

## Member Enumeration Documentation

## ◆ Mode

template<typename REAL>

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()

template<typename REAL>

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

  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

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

- opensubdiv/far/stencilTable.h
- opensubdiv/far/stencilTableFactory.h