| OpenSubdiv OpenSubdiv

Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
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.
| ~PatchTable ()
| Destructor.
bool | IsFeatureAdaptive () const
| True if the patches are of feature adaptive types.
int | GetNumControlVerticesTotal () const
| Returns the total number of control vertex indices in the table.
int | GetNumPatchesTotal () const
| Returns the total number of patches stored in the table.
int | GetMaxValence () const
| Returns max vertex valence.
int | GetNumPtexFaces () const
| Returns the total number of ptex faces in the mesh.
template<>
bool | LocalPointStencilPrecisionMatchesType () const
template<>
bool | LocalPointVaryingStencilPrecisionMatchesType () const
template<>
bool | LocalPointFaceVaryingStencilPrecisionMatchesType () const
template<>
bool | LocalPointStencilPrecisionMatchesType () const
template<>
bool | LocalPointVaryingStencilPrecisionMatchesType () const
template<>
bool | LocalPointFaceVaryingStencilPrecisionMatchesType () const
template<typename REAL >
StencilTableReal< REAL > const * | GetLocalPointStencilTable () const
template<typename REAL >
StencilTableReal< REAL > const * | GetLocalPointVaryingStencilTable () const
template<typename REAL >
StencilTableReal< REAL > const * | GetLocalPointFaceVaryingStencilTable (int channel) const
Individual patches
Accessors for individual patches
PatchDescriptor | GetPatchDescriptor (PatchHandle const &handle) const
| Returns the PatchDescriptor for the patch identified by `handle`.
ConstIndexArray | GetPatchVertices (PatchHandle const &handle) const
| Returns the control vertex indices for the patch identified by `handle`.
PatchParam | GetPatchParam (PatchHandle const &handle) const
| Returns a PatchParam for the patch identified by `handle`.
ConstIndexArray | GetPatchVertices (int array, int patch) const
| Returns the control vertex indices for `patch` in `array`.
PatchParam | GetPatchParam (int array, int patch) const
| Returns the PatchParam for `patch` in `array`.
Arrays of patches
Accessors for arrays of patches of the same type
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 | GetNumControlVertices (int array) const
| Returns the number of control vertices in `array`.
PatchDescriptor | GetPatchArrayDescriptor (int array) const
| Returns the PatchDescriptor for the patches in `array`.
ConstIndexArray | GetPatchArrayVertices (int array) const
| Returns the control vertex indices for the patches in `array`.
ConstPatchParamArray const | GetPatchParams (int array) const
| Returns the PatchParams for the patches in `array`.
Change of basis patches
Accessors for change of basis patches
int | GetNumLocalPoints () const
| Returns the number of local vertex points.
StencilTable const * | GetLocalPointStencilTable () const
| Returns the stencil table to compute local point vertex values.
template<typename REAL >
StencilTableReal< REAL > const * | GetLocalPointStencilTable () const
| Returns the stencil table to compute local point vertex values.
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>.
template<class T >
void | ComputeLocalPointValues (T const *src, T *dst) const
| Updates local point vertex values.
int | GetNumLocalPointsVarying () const
| Returns the number of local varying points.
StencilTable const * | GetLocalPointVaryingStencilTable () const
| Returns the stencil table to compute local point varying values.
template<typename REAL >
StencilTableReal< REAL > const * | GetLocalPointVaryingStencilTable () const
| Returns the stencil table to compute local point varying values.
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>.
template<class T >
void | ComputeLocalPointValuesVarying (T const *src, T *dst) const
| Updates local point varying values.
int | GetNumLocalPointsFaceVarying (int channel=0) const
| Returns the number of local face-varying points for `channel`.
StencilTable const * | GetLocalPointFaceVaryingStencilTable (int channel=0) const
| Returns the stencil table to compute local point face-varying values.
template<typename REAL >
StencilTableReal< REAL > const * | GetLocalPointFaceVaryingStencilTable (int channel=0) const
| Returns the stencil table to compute local point face-varying values.
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>.
template<class T >
void | ComputeLocalPointValuesFaceVarying (T const *src, T *dst, int channel=0) const
| Updates local point face-varying values.
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.
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.
Varying data
Accessors for varying data
PatchDescriptor | GetVaryingPatchDescriptor () const
| Returns the varying patch descriptor.
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 | GetPatchArrayVaryingVertices (int array) const
| Returns the varying vertex indices for the patches in `array`.
ConstIndexArray | GetVaryingVertices () const
| Returns an array of varying vertex indices for the patches.
Face-varying channels
Accessors for face-varying channels
int | GetNumFVarChannels () const
| Returns the number of face-varying channels.
PatchDescriptor | GetFVarPatchDescriptorRegular (int channel=0) const
| Returns the regular patch descriptor for `channel`.
PatchDescriptor | GetFVarPatchDescriptorIrregular (int channel=0) const
| Returns the irregular patch descriptor for `channel`.
PatchDescriptor | GetFVarPatchDescriptor (int channel=0) const
| Returns the default/irregular patch descriptor for `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`.
ConstIndexArray | GetPatchArrayFVarValues (int array, int channel=0) const
| Returns the value indices for the patches in `array` in `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`.
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`.
ConstPatchParamArray | GetPatchArrayFVarPatchParams (int array, int channel=0) const
| Returns the face-varying for a given patch in `array` in `channel`.
ConstPatchParamArray | GetFVarPatchParams (int channel=0) const
| Returns an array of face-varying patch param for `channel`.
Sdc::Options::FVarLinearInterpolation | GetFVarChannelLinearInterpolation (int channel=0) const
| Deprecated.

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

## 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
typedef std::vector< unsigned int > | QuadOffsetsTable
PatchVertsTable const & | GetPatchControlVerticesTable () const
| Get the table of patch control vertices.
PatchParamTable const & | GetPatchParamTable () const
| Returns the PatchParamTable (PatchParams order matches patch array sorting)
std::vector< Index > const & | GetSharpnessIndexTable () const
| Returns a sharpness index table for each patch (if exists)
std::vector< float > const & | GetSharpnessValues () const
| Returns sharpness values table.
QuadOffsetsTable const & | GetQuadOffsetsTable () const
| Returns the quad-offsets table.
void | print () const
| debug helper

## Evaluation methods
class | PatchTableBuilder
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.
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.
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.
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.
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.
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.
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.
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.
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.
| PatchTable (int maxvalence)
Index | getPatchIndex (int array, int patch) const
PatchParamArray | getPatchParams (int arrayIndex)
Index * | getSharpnessIndices (Index arrayIndex)
float * | getSharpnessValues (Index arrayIndex)

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

## ◆ ConstQuadOffsetsArray

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.

## ◆ PatchVertsTable

typedef std::vector<Index> PatchVertsTable

Definition at line 375 of file patchTable.h.

## ◆ QuadOffsetsTable

typedef std::vector<unsigned int> QuadOffsetsTable

Definition at line 389 of file patchTable.h.

## ◆ VertexValenceTable

typedef std::vector<Index> VertexValenceTable

Definition at line 264 of file patchTable.h.

## Constructor & Destructor Documentation

## ◆ PatchTable() [1/2]

PatchTable | ( | PatchTable const & | src | ) |

Copy constructor.

## ◆ ~PatchTable()

~PatchTable | ( |  | ) |

Destructor.

## ◆ PatchTable() [2/2]

PatchTable | ( | int | maxvalence | ) |
| protected

## Member Function Documentation

## ◆ ComputeLocalPointValues()

template<class T >

void ComputeLocalPointValues | ( | T const * | src,
|  | T * | dst
| ) |  | const
| inline

Updates local point vertex values.

Parameters

  src | Buffer with primvar data for the base and refined vertex values
  dst | Destination 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 826 of file patchTable.h.

## ◆ ComputeLocalPointValuesFaceVarying()

template<class T >

void ComputeLocalPointValuesFaceVarying | ( | T const * | src,
|  | T * | dst,
|  | int | channel = `0`
| ) |  | const
| inline

Updates local point face-varying values.

Parameters

  src | Buffer with primvar data for the base and refined face-varying values
  dst | Destination buffer for the computed local point face-varying values
  channel | face-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 844 of file patchTable.h.

## ◆ ComputeLocalPointValuesVarying()

template<class T >

void ComputeLocalPointValuesVarying | ( | T const * | src,
|  | T * | dst
| ) |  | const
| inline

Updates local point varying values.

Parameters

  src | Buffer with primvar data for the base and refined varying values
  dst | Destination 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 835 of file patchTable.h.

## ◆ EvaluateBasis() [1/3]

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 865 of file patchTable.h.

## ◆ EvaluateBasis() [2/3]

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 858 of file patchTable.h.

## ◆ EvaluateBasis() [3/3]

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.

Parameters

  handle | A patch handle identifying the sub-patch containing the (u,v) location
  u | Patch coordinate (in base face normalized space)
  v | Patch coordinate (in base face normalized space)
  wP | Weights (evaluated basis functions) for the position
  wDu | Weights (evaluated basis functions) for derivative wrt u
  wDv | Weights (evaluated basis functions) for derivative wrt v
  wDuu | Weights (evaluated basis functions) for 2nd derivative wrt u
  wDuv | Weights (evaluated basis functions) for 2nd derivative wrt u and v
  wDvv | Weights (evaluated basis functions) for 2nd derivative wrt v

## ◆ EvaluateBasisFaceVarying() [1/3]

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 895 of file patchTable.h.

## ◆ EvaluateBasisFaceVarying() [2/3]

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 888 of file patchTable.h.

## ◆ EvaluateBasisFaceVarying() [3/3]

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.

Parameters

  handle | A patch handle identifying the sub-patch containing the (u,v) location
  u | Patch coordinate (in base face normalized space)
  v | Patch coordinate (in base face normalized space)
  wP | Weights (evaluated basis functions) for the position
  wDu | Weights (evaluated basis functions) for derivative wrt u
  wDv | Weights (evaluated basis functions) for derivative wrt v
  wDuu | Weights (evaluated basis functions) for 2nd derivative wrt u
  wDuv | Weights (evaluated basis functions) for 2nd derivative wrt u and v
  wDvv | Weights (evaluated basis functions) for 2nd derivative wrt v
  channel | face-varying channel

## ◆ EvaluateBasisVarying() [1/3]

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 880 of file patchTable.h.

## ◆ EvaluateBasisVarying() [2/3]

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 873 of file patchTable.h.

## ◆ EvaluateBasisVarying() [3/3]

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.

Parameters

  handle | A patch handle identifying the sub-patch containing the (u,v) location
  u | Patch coordinate (in base face normalized space)
  v | Patch coordinate (in base face normalized space)
  wP | Weights (evaluated basis functions) for the position
  wDu | Weights (evaluated basis functions) for derivative wrt u
  wDv | Weights (evaluated basis functions) for derivative wrt v
  wDuu | Weights (evaluated basis functions) for 2nd derivative wrt u
  wDuv | Weights (evaluated basis functions) for 2nd derivative wrt u and v
  wDvv | Weights (evaluated basis functions) for 2nd derivative wrt v

## ◆ GetFVarChannelLinearInterpolation()

Sdc::Options::FVarLinearInterpolation GetFVarChannelLinearInterpolation | ( | int | channel = `0` | ) | const

Deprecated.

See also
  PatchTable::GetFVarPatchDescriptor

## ◆ GetFVarPatchDescriptor()

PatchDescriptor GetFVarPatchDescriptor | ( | int | channel = `0` | ) | const

Returns the default/irregular patch descriptor for `channel`.

## ◆ GetFVarPatchDescriptorIrregular()

PatchDescriptor GetFVarPatchDescriptorIrregular | ( | int | channel = `0` | ) | const

Returns the irregular patch descriptor for `channel`.

## ◆ GetFVarPatchDescriptorRegular()

PatchDescriptor GetFVarPatchDescriptorRegular | ( | int | channel = `0` | ) | const

Returns the regular patch descriptor for `channel`.

## ◆ GetFVarPatchParams()

ConstPatchParamArray GetFVarPatchParams | ( | int | channel = `0` | ) | const

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

## ◆ GetFVarValues()

ConstIndexArray GetFVarValues | ( | int | channel = `0` | ) | const

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

## ◆ GetFVarValueStride()

int GetFVarValueStride | ( | int | channel = `0` | ) | const

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

## ◆ GetLocalPointFaceVaryingStencilTable() [1/3]

template<typename REAL >

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

Definition at line 812 of file patchTable.h.

## ◆ GetLocalPointFaceVaryingStencilTable() [2/3]

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

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

Definition at line 789 of file patchTable.h.

## ◆ GetLocalPointFaceVaryingStencilTable() [3/3]

template<typename REAL >

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

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

## ◆ GetLocalPointStencilTable() [1/3]

StencilTable const * GetLocalPointStencilTable | ( |  | ) | const
| inline

Returns the stencil table to compute local point vertex values.

Definition at line 778 of file patchTable.h.

## ◆ GetLocalPointStencilTable() [2/3]

template<typename REAL >

StencilTableReal< REAL > const * GetLocalPointStencilTable | ( |  | ) | const

Returns the stencil table to compute local point vertex values.

## ◆ GetLocalPointStencilTable() [3/3]

template<typename REAL >

StencilTableReal< REAL > const * GetLocalPointStencilTable | ( |  | ) | const
| inline

Definition at line 800 of file patchTable.h.

## ◆ GetLocalPointVaryingStencilTable() [1/3]

StencilTable const * GetLocalPointVaryingStencilTable | ( |  | ) | const
| inline

Returns the stencil table to compute local point varying values.

Definition at line 783 of file patchTable.h.

## ◆ GetLocalPointVaryingStencilTable() [2/3]

template<typename REAL >

StencilTableReal< REAL > const * GetLocalPointVaryingStencilTable | ( |  | ) | const

Returns the stencil table to compute local point varying values.

## ◆ GetLocalPointVaryingStencilTable() [3/3]

template<typename REAL >

StencilTableReal< REAL > const * GetLocalPointVaryingStencilTable | ( |  | ) | const
| inline

Definition at line 806 of file patchTable.h.

## ◆ GetMaxValence()

int GetMaxValence | ( |  | ) | const
| inline

Returns max vertex valence.

Definition at line 92 of file patchTable.h.

## ◆ GetNumControlVertices()

int GetNumControlVertices | ( | int | array | ) | const

Returns the number of control vertices in `array`.

## ◆ GetNumControlVerticesTotal()

int GetNumControlVerticesTotal | ( |  | ) | const
| inline

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

Definition at line 84 of file patchTable.h.

## ◆ GetNumFVarChannels()

int GetNumFVarChannels | ( |  | ) | const

Returns the number of face-varying channels.

## ◆ GetNumLocalPoints()

int GetNumLocalPoints | ( |  | ) | const

Returns the number of local vertex points.

## ◆ GetNumLocalPointsFaceVarying()

int GetNumLocalPointsFaceVarying | ( | int | channel = `0` | ) | const

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

## ◆ GetNumLocalPointsVarying()

int GetNumLocalPointsVarying | ( |  | ) | const

Returns the number of local varying points.

## ◆ GetNumPatchArrays()

int GetNumPatchArrays | ( |  | ) | const

Returns the number of patch arrays in the table.

## ◆ GetNumPatches()

int GetNumPatches | ( | int | array | ) | const

Returns the number of patches in `array`.

## ◆ GetNumPatchesTotal()

int GetNumPatchesTotal | ( |  | ) | const

Returns the total number of patches stored in the table.

## ◆ GetNumPtexFaces()

int GetNumPtexFaces | ( |  | ) | const
| inline

Returns the total number of ptex faces in the mesh.

Definition at line 95 of file patchTable.h.

## ◆ GetPatchArrayDescriptor()

PatchDescriptor GetPatchArrayDescriptor | ( | int | array | ) | const

Returns the PatchDescriptor for the patches in `array`.

## ◆ GetPatchArrayFVarPatchParams()

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

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

## ◆ GetPatchArrayFVarValues()

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

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

## ◆ GetPatchArrayVaryingVertices()

ConstIndexArray GetPatchArrayVaryingVertices | ( | int | array | ) | const

Returns the varying vertex indices for the patches in `array`.

## ◆ GetPatchArrayVertices()

ConstIndexArray GetPatchArrayVertices | ( | int | array | ) | const

Returns the control vertex indices for the patches in `array`.

## ◆ GetPatchControlVerticesTable()

PatchVertsTable const & GetPatchControlVerticesTable | ( |  | ) | const
| inline

Get the table of patch control vertices.

Definition at line 378 of file patchTable.h.

## ◆ GetPatchDescriptor()

PatchDescriptor GetPatchDescriptor | ( | PatchHandle const & | handle | ) | const

Returns the PatchDescriptor for the patch identified by `handle`.

## ◆ GetPatchFVarPatchParam() [1/2]

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

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

## ◆ GetPatchFVarPatchParam() [2/2]

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

Returns the value indices for a given patch in `channel`.

## ◆ GetPatchFVarValues() [1/2]

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

Returns the value indices for a given patch in `channel`.

## ◆ GetPatchFVarValues() [2/2]

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

Returns the value indices for a given patch in `channel`.

## ◆ getPatchIndex()

Index getPatchIndex | ( | int | array,
|  | int | patch
| ) |  | const
| protected

## ◆ GetPatchParam() [1/2]

PatchParam GetPatchParam | ( | int | array,
|  | int | patch
| ) |  | const

Returns the PatchParam for `patch` in `array`.

## ◆ GetPatchParam() [2/2]

PatchParam GetPatchParam | ( | PatchHandle const & | handle | ) | const

Returns a PatchParam for the patch identified by `handle`.

## ◆ GetPatchParams()

ConstPatchParamArray const GetPatchParams | ( | int | array | ) | const

Returns the PatchParams for the patches in `array`.

## ◆ getPatchParams()

PatchParamArray getPatchParams | ( | int | arrayIndex | ) |
| protected

## ◆ GetPatchParamTable()

PatchParamTable const & GetPatchParamTable | ( |  | ) | const
| inline

Returns the PatchParamTable (PatchParams order matches patch array sorting)

Definition at line 381 of file patchTable.h.

## ◆ GetPatchQuadOffsets()

ConstQuadOffsetsArray GetPatchQuadOffsets | ( | PatchHandle const & | handle | ) | const

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

## ◆ GetPatchVaryingVertices() [1/2]

ConstIndexArray GetPatchVaryingVertices | ( | int | array,
|  | int | patch
| ) |  | const

Returns the varying vertex indices for a given patch.

## ◆ GetPatchVaryingVertices() [2/2]

ConstIndexArray GetPatchVaryingVertices | ( | PatchHandle const & | handle | ) | const

Returns the varying vertex indices for a given patch.

## ◆ GetPatchVertices() [1/2]

ConstIndexArray GetPatchVertices | ( | int | array,
|  | int | patch
| ) |  | const

Returns the control vertex indices for `patch` in `array`.

## ◆ GetPatchVertices() [2/2]

ConstIndexArray GetPatchVertices | ( | PatchHandle const & | handle | ) | const

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

## ◆ GetQuadOffsetsTable()

QuadOffsetsTable const & GetQuadOffsetsTable | ( |  | ) | const
| inline

Returns the quad-offsets table.

Definition at line 392 of file patchTable.h.

## ◆ GetSharpnessIndexTable()

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.

## ◆ getSharpnessIndices()

Index * getSharpnessIndices | ( | Index | arrayIndex | ) |
| protected

## ◆ GetSharpnessValues()

std::vector< float > const & GetSharpnessValues | ( |  | ) | const
| inline

Returns sharpness values table.

Definition at line 387 of file patchTable.h.

## ◆ getSharpnessValues()

float * getSharpnessValues | ( | Index | arrayIndex | ) |
| protected

## ◆ GetSingleCreasePatchSharpnessValue() [1/2]

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.

## ◆ GetSingleCreasePatchSharpnessValue() [2/2]

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.

## ◆ GetVaryingPatchDescriptor()

PatchDescriptor GetVaryingPatchDescriptor | ( |  | ) | const

Returns the varying patch descriptor.

## ◆ GetVaryingVertices()

ConstIndexArray GetVaryingVertices | ( |  | ) | const

Returns an array of varying vertex indices for the patches.

## ◆ GetVertexValenceTable()

VertexValenceTable const & GetVertexValenceTable | ( |  | ) | const
| inline

Returns the 'VertexValences' table (vertex neighborhoods table)

Definition at line 267 of file patchTable.h.

## ◆ IsFeatureAdaptive()

bool IsFeatureAdaptive | ( |  | ) | const

True if the patches are of feature adaptive types.

## ◆ LocalPointFaceVaryingStencilPrecisionMatchesType() [1/3]

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

## ◆ LocalPointFaceVaryingStencilPrecisionMatchesType() [2/3]

template<>

bool LocalPointFaceVaryingStencilPrecisionMatchesType | ( |  | ) | const
| inline

Definition at line 756 of file patchTable.h.

## ◆ LocalPointFaceVaryingStencilPrecisionMatchesType() [3/3]

template<>

bool LocalPointFaceVaryingStencilPrecisionMatchesType | ( |  | ) | const
| inline

Definition at line 769 of file patchTable.h.

## ◆ LocalPointStencilPrecisionMatchesType() [1/3]

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

## ◆ LocalPointStencilPrecisionMatchesType() [2/3]

template<>

bool LocalPointStencilPrecisionMatchesType | ( |  | ) | const
| inline

Definition at line 748 of file patchTable.h.

## ◆ LocalPointStencilPrecisionMatchesType() [3/3]

template<>

bool LocalPointStencilPrecisionMatchesType | ( |  | ) | const
| inline

Definition at line 761 of file patchTable.h.

## ◆ LocalPointVaryingStencilPrecisionMatchesType() [1/3]

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

## ◆ LocalPointVaryingStencilPrecisionMatchesType() [2/3]

template<>

bool LocalPointVaryingStencilPrecisionMatchesType | ( |  | ) | const
| inline

Definition at line 752 of file patchTable.h.

## ◆ LocalPointVaryingStencilPrecisionMatchesType() [3/3]

template<>

bool LocalPointVaryingStencilPrecisionMatchesType | ( |  | ) | const
| inline

Definition at line 765 of file patchTable.h.

## ◆ print()

void print | ( |  | ) | const

debug helper

## Friends And Related Symbol Documentation

## ◆ PatchTableBuilder

friend class PatchTableBuilder
| friend

Definition at line 531 of file patchTable.h.

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

- opensubdiv/far/patchTable.h