All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StencilTables Class Reference

Table of subdivision stencils. More...

#include <stencilTables.h>

Inheritance diagram for StencilTables:
LimitStencilTables

Public Member Functions

int GetNumStencils () const
 Returns the number of stencils in the table. More...
 
int GetNumControlVertices () const
 
Stencil GetStencil (int i) const
 Returns a Stencil at index i in the tables. More...
 
std::vector< unsigned char >
const & 
GetSizes () const
 Returns the number of control vertices of each stencil in the table. More...
 
std::vector< int > const & GetOffsets () const
 Returns the offset to a given stencil (factory may leave empty) More...
 
std::vector< int > const & GetControlIndices () const
 Returns the indices of the control vertices. More...
 
std::vector< float > const & GetWeights () const
 Returns the stencil interpolation weights. More...
 
template<class T >
void UpdateValues (T const *controlValues, T *values, int start=-1, int end=-1) const
 Updates point values based on the control values. More...
 

Friends

class StencilTablesFactory
 

Detailed Description

Table of subdivision stencils.

Stencils are the most direct methods 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 114 of file stencilTables.h.

Member Function Documentation

std::vector<int> const& GetControlIndices ( ) const
inline

Returns the indices of the control vertices.

Definition at line 141 of file stencilTables.h.

int GetNumControlVertices ( ) const
inline

Definition at line 123 of file stencilTables.h.

int GetNumStencils ( ) const
inline

Returns the number of stencils in the table.

Definition at line 119 of file stencilTables.h.

std::vector<int> const& GetOffsets ( ) const
inline

Returns the offset to a given stencil (factory may leave empty)

Definition at line 136 of file stencilTables.h.

std::vector<unsigned char> const& GetSizes ( ) const
inline

Returns the number of control vertices of each stencil in the table.

Definition at line 131 of file stencilTables.h.

Stencil GetStencil ( int  i) const
inline

Returns a Stencil at index i in the tables.

Definition at line 325 of file stencilTables.h.

std::vector<float> const& GetWeights ( ) const
inline

Returns the stencil interpolation weights.

Definition at line 146 of file stencilTables.h.

void UpdateValues ( T const *  controlValues,
T *  values,
int  start = -1,
int  end = -1 
) const
inline

Updates point values based on the control values.

Note
The destination buffers ('uderivs' & 'vderivs') are assumed to have allocated at least GetNumStencils() elements.
Parameters
controlValuesBuffer with primvar data for the control vertices
valuesDestination buffer for the interpolated primvar data
start(skip to )index of first value to update
endIndex of last value to update

Definition at line 165 of file stencilTables.h.

Friends And Related Function Documentation

friend class StencilTablesFactory
friend

Definition at line 178 of file stencilTables.h.


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