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::LimitStencilTableReal< REAL > Class Template Reference

Table of limit subdivision stencils. More...

#include <stencilTable.h>

Public Member Functions

LimitStencilReal< REAL > GetLimitStencil (Index i) const
 Returns a LimitStencil at index i in the table. More...
 
LimitStencilReal< REAL > operator[] (Index index) const
 Returns the limit stencil at index i in the table. More...
 
std::vector< REAL > const & GetDuWeights () const
 Returns the 'u' derivative stencil interpolation weights. More...
 
std::vector< REAL > const & GetDvWeights () const
 Returns the 'v' derivative stencil interpolation weights. More...
 
std::vector< REAL > const & GetDuuWeights () const
 Returns the 'uu' derivative stencil interpolation weights. More...
 
std::vector< REAL > const & GetDuvWeights () const
 Returns the 'uv' derivative stencil interpolation weights. More...
 
std::vector< REAL > const & GetDvvWeights () const
 Returns the 'vv' derivative stencil interpolation weights. More...
 
template<class T , class U >
void UpdateDerivs (T const &srcValues, U &uderivs, U &vderivs, int start=-1, int end=-1) const
 Updates derivative values based on the control values. More...
 
template<class T , class U >
void Update2ndDerivs (T const &srcValues, U &uuderivs, U &uvderivs, U &vvderivs, int start=-1, int end=-1) const
 Updates 2nd derivative values based on the control values. More...
 
void Clear ()
 Clears the stencils from the table. More...
 
int GetNumStencils () const
 Returns the number of stencils in the table. More...
 
int GetNumControlVertices () const
 Returns the number of control vertices indexed in the table. More...
 
StencilReal< REAL > GetStencil (Index i) const
 Returns a Stencil at index i in the table. More...
 
std::vector< int > const & GetSizes () const
 Returns the number of control vertices of each stencil in the table. More...
 
std::vector< Index > const & GetOffsets () const
 Returns the offset to a given stencil (factory may leave empty) More...
 
std::vector< Index > const & GetControlIndices () const
 Returns the indices of the control vertices. More...
 
std::vector< REAL > const & GetWeights () const
 Returns the stencil interpolation weights. More...
 
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. More...
 

Detailed Description

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

Table of limit subdivision stencils.

+ Inheritance diagram for OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >:

Member Function Documentation

template<typename REAL >
void OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::Clear ( )

Clears the stencils from the table.

References OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::Clear().

template<typename REAL>
std::vector<Index> const& OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetControlIndices ( ) const
inlineinherited

Returns the indices of the control vertices.

Referenced by OpenSubdiv::v3_4_3::Far::StencilTableFactoryReal< REAL >::Create().

template<typename REAL>
std::vector<REAL> const& OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::GetDuuWeights ( ) const
inline

Returns the 'uu' derivative stencil interpolation weights.

template<typename REAL>
std::vector<REAL> const& OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::GetDuvWeights ( ) const
inline

Returns the 'uv' derivative stencil interpolation weights.

template<typename REAL>
std::vector<REAL> const& OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::GetDuWeights ( ) const
inline

Returns the 'u' derivative stencil interpolation weights.

template<typename REAL>
std::vector<REAL> const& OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::GetDvvWeights ( ) const
inline

Returns the 'vv' derivative stencil interpolation weights.

template<typename REAL>
std::vector<REAL> const& OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::GetDvWeights ( ) const
inline

Returns the 'v' derivative stencil interpolation weights.

template<typename REAL >
LimitStencilReal< REAL > OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::GetLimitStencil ( Index  i) const
inline

Returns a LimitStencil at index i in the table.

References empty().

template<typename REAL>
int OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetNumControlVertices ( ) const
inlineinherited

Returns the number of control vertices indexed in the table.

Referenced by OpenSubdiv::v3_4_3::Far::StencilTableFactoryReal< REAL >::Create().

template<typename REAL>
int OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetNumStencils ( ) const
inlineinherited
template<typename REAL>
std::vector<Index> const& OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetOffsets ( ) const
inlineinherited

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

template<typename REAL>
std::vector<int> const& OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetSizes ( ) const
inlineinherited

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

template<typename REAL >
StencilReal< REAL > OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetStencil ( Index  i) const
inlineinherited

Returns a Stencil at index i in the table.

template<typename REAL>
std::vector<REAL> const& OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetWeights ( ) const
inlineinherited

Returns the stencil interpolation weights.

template<typename REAL >
LimitStencilReal< REAL > OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::operator[] ( Index  index) const
inline

Returns the limit stencil at index i in the table.

template<typename REAL>
template<class T , class U >
void OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::Update2ndDerivs ( T const &  srcValues,
U &  uuderivs,
U &  uvderivs,
U &  vvderivs,
int  start = -1,
int  end = -1 
) const
inline

Updates 2nd derivative values based on the control values.

Note
The destination buffers ('uuderivs', 'uvderivs', & 'vderivs') are assumed to have allocated at least GetNumStencils() elements.
Parameters
srcValuesBuffer with primvar data for the control vertices
uuderivsDestination buffer for the interpolated 'uu' derivative primvar data
uvderivsDestination buffer for the interpolated 'uv' derivative primvar data
vvderivsDestination buffer for the interpolated 'vv' derivative primvar data
startIndex of first destination derivative to update
endIndex of last destination derivative to update
template<typename REAL>
template<class T , class U >
void OpenSubdiv::v3_4_3::Far::LimitStencilTableReal< REAL >::UpdateDerivs ( T const &  srcValues,
U &  uderivs,
U &  vderivs,
int  start = -1,
int  end = -1 
) const
inline

Updates derivative values based on the control values.

Note
The destination buffers ('uderivs' & 'vderivs') are assumed to have allocated at least GetNumStencils() elements.
Parameters
srcValuesBuffer with primvar data for the control vertices
uderivsDestination buffer for the interpolated 'u' derivative primvar data
vderivsDestination buffer for the interpolated 'v' derivative primvar data
startIndex of first destination derivative to update
endIndex of last destination derivative to update
template<typename REAL>
template<class T , class U >
void OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::UpdateValues ( T const &  srcValues,
U &  dstValues,
Index  start = -1,
Index  end = -1 
) const
inlineinherited

Updates point values based on the control values.

Note
The destination buffers are assumed to have allocated at least GetNumStencils() elements.
Parameters
srcValuesBuffer with primvar data for the control vertices
dstValuesDestination buffer for the interpolated primvar data
startIndex of first destination value to update
endIndex of last destination value to update

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