All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
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...
 
template<>
bool LocalPointStencilPrecisionMatchesType () const
 
template<>
bool LocalPointVaryingStencilPrecisionMatchesType () const
 
template<>
bool LocalPointFaceVaryingStencilPrecisionMatchesType () const
 
template<>
bool LocalPointStencilPrecisionMatchesType () const
 
template<>
bool LocalPointVaryingStencilPrecisionMatchesType () const
 
template<>
bool LocalPointFaceVaryingStencilPrecisionMatchesType () const
 
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...
 

Protected Member Functions

 PatchTable (int maxvalence)
 
Index getPatchIndex (int array, int patch) const
 
PatchParamArray getPatchParams (int arrayIndex)
 
IndexgetSharpnessIndices (Index arrayIndex)
 
float * getSharpnessValues (Index arrayIndex)
 

Friends

class PatchTableBuilder
 

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< IndexVertexValenceTable
 
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< IndexPatchVertsTable
 
typedef std::vector< unsigned int > QuadOffsetsTable
 
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

Definition at line 55 of file patchTable.h.

Member Typedef Documentation

typedef Vtr::ConstArray<unsigned int> ConstQuadOffsetsArray

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

Definition at line 259 of file patchTable.h.

typedef std::vector<Index> PatchVertsTable

Definition at line 375 of file patchTable.h.

typedef std::vector<unsigned int> QuadOffsetsTable

Definition at line 389 of file patchTable.h.

typedef std::vector<Index> VertexValenceTable

Definition at line 264 of file patchTable.h.

Constructor & Destructor Documentation

PatchTable ( PatchTable const &  src)

Copy constructor.

~PatchTable ( )

Destructor.

PatchTable ( int  maxvalence)
protected

Member Function Documentation

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

Definition at line 778 of file patchTable.h.

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

Definition at line 796 of file patchTable.h.

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

Definition at line 787 of file patchTable.h.

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.

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
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
inline

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

Definition at line 810 of file patchTable.h.

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
inline

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

Definition at line 817 of file patchTable.h.

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.

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
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
inline

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

Definition at line 840 of file patchTable.h.

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
inline

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

Definition at line 847 of file patchTable.h.

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.

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
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
inline

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

Definition at line 825 of file patchTable.h.

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
inline

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

Definition at line 832 of file patchTable.h.

Sdc::Options::FVarLinearInterpolation GetFVarChannelLinearInterpolation ( int  channel = 0) const
PatchDescriptor GetFVarPatchDescriptor ( int  channel = 0) const

Returns the default/irregular patch descriptor for channel.

PatchDescriptor GetFVarPatchDescriptorIrregular ( int  channel = 0) const

Returns the irregular patch descriptor for channel.

PatchDescriptor GetFVarPatchDescriptorRegular ( int  channel = 0) const

Returns the regular patch descriptor for channel.

ConstPatchParamArray GetFVarPatchParams ( int  channel = 0) const

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

ConstIndexArray GetFVarValues ( int  channel = 0) const

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

int GetFVarValueStride ( int  channel = 0) const

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

StencilTable const * GetLocalPointFaceVaryingStencilTable ( int  channel = 0) const
inline

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

Definition at line 741 of file patchTable.h.

StencilTableReal< REAL > const * GetLocalPointFaceVaryingStencilTable ( int  channel = 0) const
inline

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

Definition at line 764 of file patchTable.h.

StencilTable const * GetLocalPointStencilTable ( ) const
inline

Returns the stencil table to compute local point vertex values.

Definition at line 730 of file patchTable.h.

StencilTableReal< REAL > const * GetLocalPointStencilTable ( ) const
inline

Returns the stencil table to compute local point vertex values.

Definition at line 752 of file patchTable.h.

StencilTable const * GetLocalPointVaryingStencilTable ( ) const
inline

Returns the stencil table to compute local point varying values.

Definition at line 735 of file patchTable.h.

StencilTableReal< REAL > const * GetLocalPointVaryingStencilTable ( ) const
inline

Returns the stencil table to compute local point varying values.

Definition at line 758 of file patchTable.h.

int GetMaxValence ( ) const
inline

Returns max vertex valence.

Definition at line 92 of file patchTable.h.

int GetNumControlVertices ( int  array) const

Returns the number of control vertices in array.

int GetNumControlVerticesTotal ( ) const
inline

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

Definition at line 84 of file patchTable.h.

int GetNumFVarChannels ( ) const

Returns the number of face-varying channels.

int GetNumLocalPoints ( ) const

Returns the number of local vertex points.

int GetNumLocalPointsFaceVarying ( int  channel = 0) const

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

int GetNumLocalPointsVarying ( ) const

Returns the number of local varying points.

int GetNumPatchArrays ( ) const

Returns the number of patch arrays in the table.

int GetNumPatches ( int  array) const

Returns the number of patches in array.

int GetNumPatchesTotal ( ) const

Returns the total number of patches stored in the table.

int GetNumPtexFaces ( ) const
inline

Returns the total number of ptex faces in the mesh.

Definition at line 95 of file patchTable.h.

PatchDescriptor GetPatchArrayDescriptor ( int  array) const

Returns the PatchDescriptor for the patches in array.

ConstPatchParamArray GetPatchArrayFVarPatchParams ( int  array,
int  channel = 0 
) const

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

ConstIndexArray GetPatchArrayFVarValues ( int  array,
int  channel = 0 
) const

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

ConstIndexArray GetPatchArrayVaryingVertices ( int  array) const

Returns the varying vertex indices for the patches in array.

ConstIndexArray GetPatchArrayVertices ( int  array) const

Returns the control vertex indices for the patches in array.

PatchVertsTable const& GetPatchControlVerticesTable ( ) const
inline

Get the table of patch control vertices.

Definition at line 378 of file patchTable.h.

PatchDescriptor GetPatchDescriptor ( PatchHandle const &  handle) const

Returns the PatchDescriptor for the patch identified by handle.

PatchParam GetPatchFVarPatchParam ( PatchHandle const &  handle,
int  channel = 0 
) const

Returns the value indices for a given patch in channel.

PatchParam GetPatchFVarPatchParam ( int  array,
int  patch,
int  channel = 0 
) const

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

ConstIndexArray GetPatchFVarValues ( PatchHandle const &  handle,
int  channel = 0 
) const

Returns the value indices for a given patch in channel.

ConstIndexArray GetPatchFVarValues ( int  array,
int  patch,
int  channel = 0 
) const

Returns the value indices for a given patch in channel.

Index getPatchIndex ( int  array,
int  patch 
) const
protected
PatchParam GetPatchParam ( PatchHandle const &  handle) const

Returns a PatchParam for the patch identified by handle.

PatchParam GetPatchParam ( int  array,
int  patch 
) const

Returns the PatchParam for patch in array.

ConstPatchParamArray const GetPatchParams ( int  array) const

Returns the PatchParams for the patches in array.

PatchParamArray getPatchParams ( int  arrayIndex)
protected
PatchParamTable const& GetPatchParamTable ( ) const
inline

Returns the PatchParamTable (PatchParams order matches patch array sorting)

Definition at line 381 of file patchTable.h.

ConstQuadOffsetsArray GetPatchQuadOffsets ( PatchHandle const &  handle) const

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

ConstIndexArray GetPatchVaryingVertices ( PatchHandle const &  handle) const

Returns the varying vertex indices for a given patch.

ConstIndexArray GetPatchVaryingVertices ( int  array,
int  patch 
) const

Returns the varying vertex indices for a given patch.

ConstIndexArray GetPatchVertices ( PatchHandle const &  handle) const

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

ConstIndexArray GetPatchVertices ( int  array,
int  patch 
) const

Returns the control vertex indices for patch in array.

QuadOffsetsTable const& GetQuadOffsetsTable ( ) const
inline

Returns the quad-offsets table.

Definition at line 392 of file patchTable.h.

std::vector<Index> const& GetSharpnessIndexTable ( ) const
inline

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

Definition at line 384 of file patchTable.h.

Index* getSharpnessIndices ( Index  arrayIndex)
protected
std::vector<float> const& GetSharpnessValues ( ) const
inline

Returns sharpness values table.

Definition at line 387 of file patchTable.h.

float* getSharpnessValues ( Index  arrayIndex)
protected
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.

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.

PatchDescriptor GetVaryingPatchDescriptor ( ) const

Returns the varying patch descriptor.

ConstIndexArray GetVaryingVertices ( ) const

Returns an array of varying vertex indices for the patches.

VertexValenceTable const& GetVertexValenceTable ( ) const
inline

Returns the 'VertexValences' table (vertex neighborhoods table)

Definition at line 267 of file patchTable.h.

bool IsFeatureAdaptive ( ) const

True if the patches are of feature adaptive types.

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

bool LocalPointFaceVaryingStencilPrecisionMatchesType ( ) const
inline

Definition at line 709 of file patchTable.h.

bool LocalPointFaceVaryingStencilPrecisionMatchesType ( ) const
inline

Definition at line 722 of file patchTable.h.

bool LocalPointStencilPrecisionMatchesType ( ) const

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

bool LocalPointStencilPrecisionMatchesType ( ) const
inline

Definition at line 701 of file patchTable.h.

bool LocalPointStencilPrecisionMatchesType ( ) const
inline

Definition at line 714 of file patchTable.h.

bool LocalPointVaryingStencilPrecisionMatchesType ( ) const

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

bool LocalPointVaryingStencilPrecisionMatchesType ( ) const
inline

Definition at line 705 of file patchTable.h.

bool LocalPointVaryingStencilPrecisionMatchesType ( ) const
inline

Definition at line 718 of file patchTable.h.

void print ( ) const

debug helper

Friends And Related Function Documentation

friend class PatchTableBuilder
friend

Definition at line 531 of file patchTable.h.


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