![]() |
OpenSubdiv
|
Table of subdivision stencils. More...
#include <stencilTable.h>
Public Member Functions | |
| virtual | ~StencilTableReal () |
| int | GetNumStencils () const |
| Returns the number of stencils in the table. | |
| int | GetNumControlVertices () const |
| Returns the number of control vertices indexed in the table. | |
| StencilReal< REAL > | GetStencil (Index i) const |
| Returns a Stencil at index i in the table. | |
| std::vector< int > const & | GetSizes () const |
| Returns the number of control vertices of each stencil in the table. | |
| std::vector< Index > const & | GetOffsets () const |
| Returns the offset to a given stencil (factory may leave empty) | |
| std::vector< Index > const & | GetControlIndices () const |
| Returns the indices of the control vertices. | |
| std::vector< REAL > const & | GetWeights () const |
| Returns the stencil interpolation weights. | |
| StencilReal< REAL > | operator[] (Index index) const |
| Returns the stencil at index i in the table. | |
| template<class T , class U > | |
| void | UpdateValues (T const &srcValues, U &dstValues, Index start=-1, Index end=-1) const |
| Updates point values based on the control values. | |
| template<class T1 , class T2 , class U > | |
| void | UpdateValues (T1 const &srcBase, int numBase, T2 const &srcRef, U &dstValues, Index start=-1, Index end=-1) const |
| template<class T , class U > | |
| void | UpdateValues (T const *src, U *dst, Index start=-1, Index end=-1) const |
| template<class T1 , class T2 , class U > | |
| void | UpdateValues (T1 const *srcBase, int numBase, T2 const *srcRef, U *dst, Index start=-1, Index end=-1) const |
| void | Clear () |
| Clears the stencils from the table. | |
Protected Member Functions | |
| StencilTableReal (int numControlVerts, std::vector< int > const &offsets, std::vector< int > const &sizes, std::vector< int > const &sources, std::vector< REAL > const &weights, bool includeCoarseVerts, size_t firstOffset) | |
| template<class T , class U > | |
| void | update (T const &srcValues, U &dstValues, std::vector< REAL > const &valueWeights, Index start, Index end) const |
| template<class T1 , class T2 , class U > | |
| void | update (T1 const &srcBase, int numBase, T2 const &srcRef, U &dstValues, std::vector< REAL > const &valueWeights, Index start, Index end) const |
| void | generateOffsets () |
| void | resize (int nstencils, int nelems) |
| void | reserve (int nstencils, int nelems) |
| void | shrinkToFit () |
| void | finalize () |
| StencilTableReal () | |
| StencilTableReal (int numControlVerts) | |
Protected Attributes | |
| int | _numControlVertices |
| std::vector< int > | _sizes |
| std::vector< Index > | _offsets |
| std::vector< Index > | _indices |
| std::vector< REAL > | _weights |
Friends | |
| class | StencilTableFactoryReal< REAL > |
| class | Far::PatchTableBuilder |
Table of subdivision stencils.
Stencils are the most direct method of evaluation of locations on the limit of a surface. Every point of a limit surface can be computed by linearly blending a collection of coarse control vertices.
A stencil assigns a series of control vertex indices with a blending weight that corresponds to a unique parametric location of the limit surface. When the control vertices move in space, the limit location can be very efficiently recomputed simply by applying the blending weights to the series of coarse control vertices.
Definition at line 25 of file stencilTableFactory.h.
|
protected |
|
inlinevirtual |
Definition at line 136 of file stencilTable.h.
|
inlineprotected |
Definition at line 238 of file stencilTable.h.
|
inlineprotected |
Definition at line 239 of file stencilTable.h.
| void Clear | ( | ) |
Clears the stencils from the table.
|
inlineprotected |
Definition at line 697 of file stencilTable.h.
|
inlineprotected |
Definition at line 661 of file stencilTable.h.
|
inline |
Returns the indices of the control vertices.
Definition at line 162 of file stencilTable.h.
|
inline |
Returns the number of control vertices indexed in the table.
Definition at line 144 of file stencilTable.h.
|
inline |
Returns the number of stencils in the table.
Definition at line 139 of file stencilTable.h.
|
inline |
Returns the offset to a given stencil (factory may leave empty)
Definition at line 157 of file stencilTable.h.
|
inline |
Returns the number of control vertices of each stencil in the table.
Definition at line 152 of file stencilTable.h.
|
inline |
Returns a Stencil at index i in the table.
Definition at line 705 of file stencilTable.h.
|
inline |
Returns the stencil interpolation weights.
Definition at line 167 of file stencilTable.h.
|
inline |
Returns the stencil at index i in the table.
Definition at line 717 of file stencilTable.h.
|
inlineprotected |
Definition at line 681 of file stencilTable.h.
|
inlineprotected |
Definition at line 673 of file stencilTable.h.
|
inlineprotected |
Definition at line 689 of file stencilTable.h.
|
protected |
Definition at line 633 of file stencilTable.h.
|
protected |
Definition at line 601 of file stencilTable.h.
|
inline |
Updates point values based on the control values.
GetNumStencils() elements.| srcValues | Buffer with primvar data for the control vertices |
| dstValues | Destination buffer for the interpolated primvar data |
| start | Index of first destination value to update |
| end | Index of last destination value to update |
Definition at line 188 of file stencilTable.h.
|
inline |
Definition at line 200 of file stencilTable.h.
|
inline |
Definition at line 193 of file stencilTable.h.
|
inline |
Definition at line 204 of file stencilTable.h.
|
friend |
Definition at line 244 of file stencilTable.h.
|
friend |
Definition at line 239 of file stencilTable.h.
|
protected |
Definition at line 250 of file stencilTable.h.
|
protected |
Definition at line 246 of file stencilTable.h.
|
protected |
Definition at line 249 of file stencilTable.h.
|
protected |
Definition at line 248 of file stencilTable.h.
|
protected |
Definition at line 251 of file stencilTable.h.