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::PatchTable Class Reference

Container for arrays of parametric patches. More...

#include <patchTable.h>

Classes

class  PatchHandle
 Handle that can be used as unique patch identifier within PatchTable. More...
 

Public Member Functions

 PatchTable (PatchTable const &src)
 Copy constructor. More...
 
 ~PatchTable ()
 Destructor. More...
 
bool IsFeatureAdaptive () const
 True if the patches are of feature adaptive types. More...
 
int GetNumControlVerticesTotal () const
 Returns the total number of control vertex indices in the table. More...
 
int GetNumPatchesTotal () const
 Returns the total number of patches stored in the table. More...
 
int GetMaxValence () const
 Returns max vertex valence. More...
 
int GetNumPtexFaces () const
 Returns the total number of ptex faces in the mesh. More...
 
void print () const
 debug helper More...
 
Individual patches

Accessors for individual patches

PatchDescriptor GetPatchDescriptor (PatchHandle const &handle) const
 Returns the PatchDescriptor for the patch identified by handle. More...
 
ConstIndexArray GetPatchVertices (PatchHandle const &handle) const
 Returns the control vertex indices for the patch identified by handle. More...
 
PatchParam GetPatchParam (PatchHandle const &handle) const
 Returns a PatchParam for the patch identified by handle. More...
 
ConstIndexArray GetPatchVertices (int array, int patch) const
 Returns the control vertex indices for patch in array. More...
 
PatchParam GetPatchParam (int array, int patch) const
 Returns the PatchParam for patch in array. More...
 
Arrays of patches

Accessors for arrays of patches of the same type

int GetNumPatchArrays () const
 Returns the number of patch arrays in the table. More...
 
int GetNumPatches (int array) const
 Returns the number of patches in array. More...
 
int GetNumControlVertices (int array) const
 Returns the number of control vertices in array. More...
 
PatchDescriptor GetPatchArrayDescriptor (int array) const
 Returns the PatchDescriptor for the patches in array. More...
 
ConstIndexArray GetPatchArrayVertices (int array) const
 Returns the control vertex indices for the patches in array. More...
 
ConstPatchParamArray const GetPatchParams (int array) const
 Returns the PatchParams for the patches in array. More...
 
Change of basis patches

Accessors for change of basis patches

int GetNumLocalPoints () const
 Returns the number of local vertex points. More...
 
StencilTable const * GetLocalPointStencilTable () const
 Returns the stencil table to compute local point vertex values. More...
 
template<typename REAL >
StencilTableReal< REAL > const * GetLocalPointStencilTable () const
 Returns the stencil table to compute local point vertex values. More...
 
template<typename REAL >
bool LocalPointStencilPrecisionMatchesType () const
 Tests if the precision of the stencil table to compute local point vertex values matches the given floating point type <REAL>. More...
 
template<class T >
void ComputeLocalPointValues (T const *src, T *dst) const
 Updates local point vertex values. More...
 
int GetNumLocalPointsVarying () const
 Returns the number of local varying points. More...
 
StencilTable const * GetLocalPointVaryingStencilTable () const
 Returns the stencil table to compute local point varying values. More...
 
template<typename REAL >
StencilTableReal< REAL > const * GetLocalPointVaryingStencilTable () const
 Returns the stencil table to compute local point varying values. More...
 
template<typename REAL >
bool LocalPointVaryingStencilPrecisionMatchesType () const
 Tests if the precision of the stencil table to compute local point varying values matches the given floating point type <REAL>. More...
 
template<class T >
void ComputeLocalPointValuesVarying (T const *src, T *dst) const
 Updates local point varying values. More...
 
int GetNumLocalPointsFaceVarying (int channel=0) const
 Returns the number of local face-varying points for channel. More...
 
StencilTable const * GetLocalPointFaceVaryingStencilTable (int channel=0) const
 Returns the stencil table to compute local point face-varying values. More...
 
template<typename REAL >
StencilTableReal< REAL > const * GetLocalPointFaceVaryingStencilTable (int channel=0) const
 Returns the stencil table to compute local point face-varying values. More...
 
template<typename REAL >
bool LocalPointFaceVaryingStencilPrecisionMatchesType () const
 Tests if the precision of the stencil table to compute local point face-varying values matches the given floating point type <REAL>. More...
 
template<class T >
void ComputeLocalPointValuesFaceVarying (T const *src, T *dst, int channel=0) const
 Updates local point face-varying values. More...
 
Single-crease patches

Accessors for single-crease patch edge sharpness

float GetSingleCreasePatchSharpnessValue (PatchHandle const &handle) const
 Returns the crease sharpness for the patch identified by handle if it is a single-crease patch, or 0.0f. More...
 
float GetSingleCreasePatchSharpnessValue (int array, int patch) const
 Returns the crease sharpness for the patch in array if it is a single-crease patch, or 0.0f. More...
 
Varying data

Accessors for varying data

PatchDescriptor GetVaryingPatchDescriptor () const
 Returns the varying patch descriptor. More...
 
ConstIndexArray GetPatchVaryingVertices (PatchHandle const &handle) const
 Returns the varying vertex indices for a given patch. More...
 
ConstIndexArray GetPatchVaryingVertices (int array, int patch) const
 Returns the varying vertex indices for a given patch. More...
 
ConstIndexArray GetPatchArrayVaryingVertices (int array) const
 Returns the varying vertex indices for the patches in array. More...
 
ConstIndexArray GetVaryingVertices () const
 Returns an array of varying vertex indices for the patches. More...
 
Face-varying channels

Accessors for face-varying channels

int GetNumFVarChannels () const
 Returns the number of face-varying channels. More...
 
PatchDescriptor GetFVarPatchDescriptorRegular (int channel=0) const
 Returns the regular patch descriptor for channel. More...
 
PatchDescriptor GetFVarPatchDescriptorIrregular (int channel=0) const
 Returns the irregular patch descriptor for channel. More...
 
PatchDescriptor GetFVarPatchDescriptor (int channel=0) const
 Returns the default/irregular patch descriptor for channel. More...
 
ConstIndexArray GetPatchFVarValues (PatchHandle const &handle, int channel=0) const
 Returns the value indices for a given patch in channel. More...
 
ConstIndexArray GetPatchFVarValues (int array, int patch, int channel=0) const
 Returns the value indices for a given patch in channel. More...
 
ConstIndexArray GetPatchArrayFVarValues (int array, int channel=0) const
 Returns the value indices for the patches in array in channel. More...
 
ConstIndexArray GetFVarValues (int channel=0) const
 Returns an array of value indices for the patches in channel. More...
 
int GetFVarValueStride (int channel=0) const
 Returns the stride between patches in the value index array of channel. More...
 
PatchParam GetPatchFVarPatchParam (PatchHandle const &handle, int channel=0) const
 Returns the value indices for a given patch in channel. More...
 
PatchParam GetPatchFVarPatchParam (int array, int patch, int channel=0) const
 Returns the face-varying params for a given patch channel. More...
 
ConstPatchParamArray GetPatchArrayFVarPatchParams (int array, int channel=0) const
 Returns the face-varying for a given patch in array in channel. More...
 
ConstPatchParamArray GetFVarPatchParams (int channel=0) const
 Returns an array of face-varying patch param for channel. More...
 
Sdc::Options::FVarLinearInterpolation GetFVarChannelLinearInterpolation (int channel=0) const
 Deprecated. More...
 
Evaluation methods
template<typename REAL >
void EvaluateBasis (PatchHandle const &handle, REAL u, REAL v, REAL wP[], REAL wDu[]=0, REAL wDv[]=0, REAL wDuu[]=0, REAL wDuv[]=0, REAL wDvv[]=0) const
 Evaluate basis functions for position and derivatives at a given (u,v) parametric location of a patch. More...
 
void EvaluateBasis (PatchHandle const &handle, float u, float v, float wP[], float wDu[]=0, float wDv[]=0, float wDuu[]=0, float wDuv[]=0, float wDvv[]=0) const
 An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0. More...
 
void EvaluateBasis (PatchHandle const &handle, double u, double v, double wP[], double wDu[]=0, double wDv[]=0, double wDuu[]=0, double wDuv[]=0, double wDvv[]=0) const
 An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0. More...
 
template<typename REAL >
void EvaluateBasisVarying (PatchHandle const &handle, REAL u, REAL v, REAL wP[], REAL wDu[]=0, REAL wDv[]=0, REAL wDuu[]=0, REAL wDuv[]=0, REAL wDvv[]=0) const
 Evaluate basis functions for a varying value and derivatives at a given (u,v) parametric location of a patch. More...
 
void EvaluateBasisVarying (PatchHandle const &handle, float u, float v, float wP[], float wDu[]=0, float wDv[]=0, float wDuu[]=0, float wDuv[]=0, float wDvv[]=0) const
 An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0. More...
 
void EvaluateBasisVarying (PatchHandle const &handle, double u, double v, double wP[], double wDu[]=0, double wDv[]=0, double wDuu[]=0, double wDuv[]=0, double wDvv[]=0) const
 An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0. More...
 
template<typename REAL >
void EvaluateBasisFaceVarying (PatchHandle const &handle, REAL u, REAL v, REAL wP[], REAL wDu[]=0, REAL wDv[]=0, REAL wDuu[]=0, REAL wDuv[]=0, REAL wDvv[]=0, int channel=0) const
 Evaluate basis functions for a face-varying value and derivatives at a given (u,v) parametric location of a patch. More...
 
void EvaluateBasisFaceVarying (PatchHandle const &handle, float u, float v, float wP[], float wDu[]=0, float wDv[]=0, float wDuu[]=0, float wDuv[]=0, float wDvv[]=0, int channel=0) const
 An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0. More...
 
void EvaluateBasisFaceVarying (PatchHandle const &handle, double u, double v, double wP[], double wDu[]=0, double wDv[]=0, double wDuu[]=0, double wDuv[]=0, double wDvv[]=0, int channel=0) const
 An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0. More...
 

Legacy gregory patch evaluation buffers

typedef Vtr::ConstArray
< unsigned int > 
ConstQuadOffsetsArray
 Accessors for the gregory patch evaluation buffers. These methods will be deprecated. More...
 
typedef std::vector< Index > VertexValenceTable
 Accessors for the gregory patch evaluation buffers. These methods will be deprecated. More...
 
ConstQuadOffsetsArray GetPatchQuadOffsets (PatchHandle const &handle) const
 Returns the 'QuadOffsets' for the Gregory patch identified by handle. More...
 
VertexValenceTable const & GetVertexValenceTable () const
 Returns the 'VertexValences' table (vertex neighborhoods table) More...
 

Direct accessors

Warning
These direct accessors are left for convenience, but they are likely going to be deprecated in future releases
typedef std::vector< Index > PatchVertsTable
 Get the table of patch control vertices. More...
 
typedef std::vector< unsigned int > QuadOffsetsTable
 Get the table of patch control vertices. More...
 
PatchVertsTable const & GetPatchControlVerticesTable () const
 Get the table of patch control vertices. More...
 
PatchParamTable const & GetPatchParamTable () const
 Returns the PatchParamTable (PatchParams order matches patch array sorting) More...
 
std::vector< Index > const & GetSharpnessIndexTable () const
 Returns a sharpness index table for each patch (if exists) More...
 
std::vector< float > const & GetSharpnessValues () const
 Returns sharpness values table. More...
 
QuadOffsetsTable const & GetQuadOffsetsTable () const
 Returns the quad-offsets table. More...
 

Detailed Description

Container for arrays of parametric patches.

PatchTable contains topology and parametric information about the patches generated by the Refinement process. Patches in the table are sorted into arrays based on their PatchDescriptor Type.

Note : PatchTable can be accessed either using a PatchHandle or a combination of array and patch indices.

XXXX manuelk we should add a PatchIterator that can dereference into a PatchHandle for fast linear traversal of the table

Member Typedef Documentation

typedef Vtr::ConstArray<unsigned int> OpenSubdiv::v3_4_3::Far::PatchTable::ConstQuadOffsetsArray

Accessors for the gregory patch evaluation buffers. These methods will be deprecated.

Get the table of patch control vertices.

typedef std::vector<unsigned int> OpenSubdiv::v3_4_3::Far::PatchTable::QuadOffsetsTable

Get the table of patch control vertices.

Accessors for the gregory patch evaluation buffers. These methods will be deprecated.

Constructor & Destructor Documentation

OpenSubdiv::v3_4_3::Far::PatchTable::PatchTable ( PatchTable const &  src)

Copy constructor.

OpenSubdiv::v3_4_3::Far::PatchTable::~PatchTable ( )

Destructor.

Member Function Documentation

template<class T >
void OpenSubdiv::v3_4_3::Far::PatchTable::ComputeLocalPointValues ( T const *  src,
T *  dst 
) const
inline

Updates local point vertex values.

Parameters
srcBuffer with primvar data for the base and refined vertex values
dstDestination buffer for the computed local point vertex values

For more flexibility computing local vertex points, retrieval of the local point stencil table and use of its public methods is recommended or often required.

template<class T >
void OpenSubdiv::v3_4_3::Far::PatchTable::ComputeLocalPointValuesFaceVarying ( T const *  src,
T *  dst,
int  channel = 0 
) const
inline

Updates local point face-varying values.

Parameters
srcBuffer with primvar data for the base and refined face-varying values
dstDestination buffer for the computed local point face-varying values
channelface-varying channel

For more flexibility computing local face-varying points, retrieval of the local point face-varying stencil table and use of its public methods is recommended or often required.

template<class T >
void OpenSubdiv::v3_4_3::Far::PatchTable::ComputeLocalPointValuesVarying ( T const *  src,
T *  dst 
) const
inline

Updates local point varying values.

Parameters
srcBuffer with primvar data for the base and refined varying values
dstDestination buffer for the computed local point varying values

For more flexibility computing local varying points, retrieval of the local point varying stencil table and use of its public methods is recommended or often required.

template<typename REAL >
void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasis ( PatchHandle const &  handle,
REAL  u,
REAL  v,
REAL  wP[],
REAL  wDu[] = 0,
REAL  wDv[] = 0,
REAL  wDuu[] = 0,
REAL  wDuv[] = 0,
REAL  wDvv[] = 0 
) const

Evaluate basis functions for position and derivatives at a given (u,v) parametric location of a patch.

Parameters
handleA patch handle identifying the sub-patch containing the (u,v) location
uPatch coordinate (in base face normalized space)
vPatch coordinate (in base face normalized space)
wPWeights (evaluated basis functions) for the position
wDuWeights (evaluated basis functions) for derivative wrt u
wDvWeights (evaluated basis functions) for derivative wrt v
wDuuWeights (evaluated basis functions) for 2nd derivative wrt u
wDuvWeights (evaluated basis functions) for 2nd derivative wrt u and v
wDvvWeights (evaluated basis functions) for 2nd derivative wrt v

References GetPatchArrayDescriptor(), and OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetType().

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

void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasis ( PatchHandle const &  handle,
float  u,
float  v,
float  wP[],
float  wDu[] = 0,
float  wDv[] = 0,
float  wDuu[] = 0,
float  wDuv[] = 0,
float  wDvv[] = 0 
) const
inline

An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0.

void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasis ( PatchHandle const &  handle,
double  u,
double  v,
double  wP[],
double  wDu[] = 0,
double  wDv[] = 0,
double  wDuu[] = 0,
double  wDuv[] = 0,
double  wDvv[] = 0 
) const
inline

An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0.

template<typename REAL >
void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasisFaceVarying ( PatchHandle const &  handle,
REAL  u,
REAL  v,
REAL  wP[],
REAL  wDu[] = 0,
REAL  wDv[] = 0,
REAL  wDuu[] = 0,
REAL  wDuv[] = 0,
REAL  wDvv[] = 0,
int  channel = 0 
) const

Evaluate basis functions for a face-varying value and derivatives at a given (u,v) parametric location of a patch.

Parameters
handleA patch handle identifying the sub-patch containing the (u,v) location
uPatch coordinate (in base face normalized space)
vPatch coordinate (in base face normalized space)
wPWeights (evaluated basis functions) for the position
wDuWeights (evaluated basis functions) for derivative wrt u
wDvWeights (evaluated basis functions) for derivative wrt v
wDuuWeights (evaluated basis functions) for 2nd derivative wrt u
wDuvWeights (evaluated basis functions) for 2nd derivative wrt u and v
wDvvWeights (evaluated basis functions) for 2nd derivative wrt v
channelface-varying channel

References GetFVarPatchDescriptorIrregular(), GetFVarPatchDescriptorRegular(), OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetType(), and OpenSubdiv::v3_4_3::Far::PatchParam::IsRegular().

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

void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasisFaceVarying ( PatchHandle const &  handle,
float  u,
float  v,
float  wP[],
float  wDu[] = 0,
float  wDv[] = 0,
float  wDuu[] = 0,
float  wDuv[] = 0,
float  wDvv[] = 0,
int  channel = 0 
) const
inline

An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0.

void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasisFaceVarying ( PatchHandle const &  handle,
double  u,
double  v,
double  wP[],
double  wDu[] = 0,
double  wDv[] = 0,
double  wDuu[] = 0,
double  wDuv[] = 0,
double  wDvv[] = 0,
int  channel = 0 
) const
inline

An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0.

template<typename REAL >
void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasisVarying ( PatchHandle const &  handle,
REAL  u,
REAL  v,
REAL  wP[],
REAL  wDu[] = 0,
REAL  wDv[] = 0,
REAL  wDuu[] = 0,
REAL  wDuv[] = 0,
REAL  wDvv[] = 0 
) const

Evaluate basis functions for a varying value and derivatives at a given (u,v) parametric location of a patch.

Parameters
handleA patch handle identifying the sub-patch containing the (u,v) location
uPatch coordinate (in base face normalized space)
vPatch coordinate (in base face normalized space)
wPWeights (evaluated basis functions) for the position
wDuWeights (evaluated basis functions) for derivative wrt u
wDvWeights (evaluated basis functions) for derivative wrt v
wDuuWeights (evaluated basis functions) for 2nd derivative wrt u
wDuvWeights (evaluated basis functions) for 2nd derivative wrt u and v
wDvvWeights (evaluated basis functions) for 2nd derivative wrt v

References OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetType(), and GetVaryingPatchDescriptor().

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

void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasisVarying ( PatchHandle const &  handle,
float  u,
float  v,
float  wP[],
float  wDu[] = 0,
float  wDv[] = 0,
float  wDuu[] = 0,
float  wDuv[] = 0,
float  wDvv[] = 0 
) const
inline

An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0.

void OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasisVarying ( PatchHandle const &  handle,
double  u,
double  v,
double  wP[],
double  wDu[] = 0,
double  wDv[] = 0,
double  wDuu[] = 0,
double  wDuv[] = 0,
double  wDvv[] = 0 
) const
inline

An overloaded version to assist template parameter resolution when explicitly declaring unused array arguments as 0.

Sdc::Options::FVarLinearInterpolation OpenSubdiv::v3_4_3::Far::PatchTable::GetFVarChannelLinearInterpolation ( int  channel = 0) const
PatchDescriptor OpenSubdiv::v3_4_3::Far::PatchTable::GetFVarPatchDescriptor ( int  channel = 0) const

Returns the default/irregular patch descriptor for channel.

PatchDescriptor OpenSubdiv::v3_4_3::Far::PatchTable::GetFVarPatchDescriptorIrregular ( int  channel = 0) const

Returns the irregular patch descriptor for channel.

Referenced by EvaluateBasisFaceVarying().

PatchDescriptor OpenSubdiv::v3_4_3::Far::PatchTable::GetFVarPatchDescriptorRegular ( int  channel = 0) const

Returns the regular patch descriptor for channel.

Referenced by EvaluateBasisFaceVarying().

ConstPatchParamArray OpenSubdiv::v3_4_3::Far::PatchTable::GetFVarPatchParams ( int  channel = 0) const

Returns an array of face-varying patch param for channel.

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetFVarValues ( int  channel = 0) const

Returns an array of value indices for the patches in channel.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetFVarValueStride ( int  channel = 0) const

Returns the stride between patches in the value index array of channel.

StencilTableReal< REAL > const * OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointFaceVaryingStencilTable ( int  channel = 0) const
inline

Returns the stencil table to compute local point face-varying values.

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

template<typename REAL >
StencilTableReal<REAL> const* OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointFaceVaryingStencilTable ( int  channel = 0) const

Returns the stencil table to compute local point face-varying values.

StencilTableReal< REAL > const * OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointStencilTable ( ) const
inline

Returns the stencil table to compute local point vertex values.

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

template<typename REAL >
StencilTableReal<REAL> const* OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointStencilTable ( ) const

Returns the stencil table to compute local point vertex values.

StencilTableReal< REAL > const * OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointVaryingStencilTable ( ) const
inline

Returns the stencil table to compute local point varying values.

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

template<typename REAL >
StencilTableReal<REAL> const* OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointVaryingStencilTable ( ) const

Returns the stencil table to compute local point varying values.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetMaxValence ( ) const
inline

Returns max vertex valence.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumControlVertices ( int  array) const

Returns the number of control vertices in array.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumControlVerticesTotal ( ) const
inline

Returns the total number of control vertex indices in the table.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumFVarChannels ( ) const

Returns the number of face-varying channels.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumLocalPoints ( ) const

Returns the number of local vertex points.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumLocalPointsFaceVarying ( int  channel = 0) const

Returns the number of local face-varying points for channel.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumLocalPointsVarying ( ) const

Returns the number of local varying points.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumPatchArrays ( ) const

Returns the number of patch arrays in the table.

Referenced by print().

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumPatches ( int  array) const

Returns the number of patches in array.

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumPatchesTotal ( ) const

Returns the total number of patches stored in the table.

Referenced by OpenSubdiv::v3_4_3::Far::PatchMap::PatchMap(), and print().

int OpenSubdiv::v3_4_3::Far::PatchTable::GetNumPtexFaces ( ) const
inline

Returns the total number of ptex faces in the mesh.

PatchDescriptor OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchArrayDescriptor ( int  array) const

Returns the PatchDescriptor for the patches in array.

Referenced by EvaluateBasis().

ConstPatchParamArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchArrayFVarPatchParams ( int  array,
int  channel = 0 
) const

Returns the face-varying for a given patch in array in channel.

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchArrayFVarValues ( int  array,
int  channel = 0 
) const

Returns the value indices for the patches in array in channel.

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchArrayVaryingVertices ( int  array) const

Returns the varying vertex indices for the patches in array.

References OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetNumControlVertices().

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchArrayVertices ( int  array) const

Returns the control vertex indices for the patches in array.

PatchVertsTable const& OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchControlVerticesTable ( ) const
inline

Get the table of patch control vertices.

PatchDescriptor OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchDescriptor ( PatchHandle const &  handle) const

Returns the PatchDescriptor for the patch identified by handle.

PatchParam OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchFVarPatchParam ( PatchHandle const &  handle,
int  channel = 0 
) const

Returns the value indices for a given patch in channel.

PatchParam OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchFVarPatchParam ( int  array,
int  patch,
int  channel = 0 
) const

Returns the face-varying params for a given patch channel.

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchFVarValues ( PatchHandle const &  handle,
int  channel = 0 
) const

Returns the value indices for a given patch in channel.

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

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchFVarValues ( int  array,
int  patch,
int  channel = 0 
) const

Returns the value indices for a given patch in channel.

PatchParam OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchParam ( PatchHandle const &  handle) const

Returns a PatchParam for the patch identified by handle.

PatchParam OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchParam ( int  array,
int  patch 
) const

Returns the PatchParam for patch in array.

ConstPatchParamArray const OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchParams ( int  array) const

Returns the PatchParams for the patches in array.

PatchParamTable const& OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchParamTable ( ) const
inline

Returns the PatchParamTable (PatchParams order matches patch array sorting)

PatchTable::ConstQuadOffsetsArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchQuadOffsets ( PatchHandle const &  handle) const

Returns the 'QuadOffsets' for the Gregory patch identified by handle.

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchVaryingVertices ( PatchHandle const &  handle) const
ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchVaryingVertices ( int  array,
int  patch 
) const

Returns the varying vertex indices for a given patch.

References OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetNumControlVertices().

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchVertices ( PatchHandle const &  handle) const

Returns the control vertex indices for the patch identified by handle.

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

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchVertices ( int  array,
int  patch 
) const

Returns the control vertex indices for patch in array.

QuadOffsetsTable const& OpenSubdiv::v3_4_3::Far::PatchTable::GetQuadOffsetsTable ( ) const
inline

Returns the quad-offsets table.

std::vector<Index> const& OpenSubdiv::v3_4_3::Far::PatchTable::GetSharpnessIndexTable ( ) const
inline

Returns a sharpness index table for each patch (if exists)

std::vector<float> const& OpenSubdiv::v3_4_3::Far::PatchTable::GetSharpnessValues ( ) const
inline

Returns sharpness values table.

float OpenSubdiv::v3_4_3::Far::PatchTable::GetSingleCreasePatchSharpnessValue ( PatchHandle const &  handle) const

Returns the crease sharpness for the patch identified by handle if it is a single-crease patch, or 0.0f.

float OpenSubdiv::v3_4_3::Far::PatchTable::GetSingleCreasePatchSharpnessValue ( int  array,
int  patch 
) const

Returns the crease sharpness for the patch in array if it is a single-crease patch, or 0.0f.

PatchDescriptor OpenSubdiv::v3_4_3::Far::PatchTable::GetVaryingPatchDescriptor ( ) const

Returns the varying patch descriptor.

Referenced by EvaluateBasisVarying(), and OpenSubdiv::v3_4_3::Far::PatchMap::PatchMap().

ConstIndexArray OpenSubdiv::v3_4_3::Far::PatchTable::GetVaryingVertices ( ) const

Returns an array of varying vertex indices for the patches.

VertexValenceTable const& OpenSubdiv::v3_4_3::Far::PatchTable::GetVertexValenceTable ( ) const
inline

Returns the 'VertexValences' table (vertex neighborhoods table)

bool OpenSubdiv::v3_4_3::Far::PatchTable::IsFeatureAdaptive ( ) const

True if the patches are of feature adaptive types.

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

template<typename REAL >
bool OpenSubdiv::v3_4_3::Far::PatchTable::LocalPointFaceVaryingStencilPrecisionMatchesType ( ) const

Tests if the precision of the stencil table to compute local point face-varying values matches the given floating point type <REAL>.

template<typename REAL >
bool OpenSubdiv::v3_4_3::Far::PatchTable::LocalPointStencilPrecisionMatchesType ( ) const

Tests if the precision of the stencil table to compute local point vertex values matches the given floating point type <REAL>.

template<typename REAL >
bool OpenSubdiv::v3_4_3::Far::PatchTable::LocalPointVaryingStencilPrecisionMatchesType ( ) const

Tests if the precision of the stencil table to compute local point varying values matches the given floating point type <REAL>.

void OpenSubdiv::v3_4_3::Far::PatchTable::print ( ) const

debug helper

References GetNumPatchArrays(), and GetNumPatchesTotal().


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