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

  refiner | The TopologyRefiner containing the topology
  baseStencilTable | Input StencilTable for refined vertices
  localPointStencilTable | StencilTable for the change of basis patch points.
  factorize | If 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

  refiner | The TopologyRefiner containing the topology
  baseStencilTable | Input StencilTable for refined vertices
  localPointStencilTable | StencilTable for the change of basis patch points.
  channel | face-varying channel
  factorize | If 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`
| ) |  |

inline static

Utility function for stencil splicing for local point varying stencils.

Parameters

  refiner | The TopologyRefiner containing the topology
  baseStencilTable | Input StencilTable for refined vertices
  localPointStencilTable | StencilTable for the change of basis patch points.
  factorize | If 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

  numTables | Number of input StencilTables
  tables | Array 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

  refiner | The TopologyRefiner containing the topology
  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