My Project: PatchTableFactory::Options Struct Reference

| My Project

Public Types | Public Member Functions | Public Attributes | List of all members
PatchTableFactory::Options Struct Reference

Public options for the PatchTable factory. More...

`#include <patchTableFactory.h>`

## Public Types
enum | EndCapType { ENDCAP_NONE = 0, ENDCAP_BILINEAR_BASIS, ENDCAP_BSPLINE_BASIS, ENDCAP_GREGORY_BASIS, ENDCAP_LEGACY_GREGORY }
| Choice for approximating irregular patches (end-caps) More...

## Public Member Functions
| Options (unsigned int maxIsolation=10)
EndCapType | GetEndCapType () const
| Get endcap basis type. More...
void | SetEndCapType (EndCapType e)
| Set endcap basis type. More...
template<typename REAL >
void | SetPatchPrecision ()
| Set precision of vertex patches. More...
template<typename REAL >
void | SetFVarPatchPrecision ()
| Set precision of face-varying patches. More...
TopologyRefiner::AdaptiveOptions | GetRefineAdaptiveOptions () const
| Determine adaptive refinement options to match assigned patch options. More...
template<>
void | SetPatchPrecision ()
template<>
void | SetFVarPatchPrecision ()
template<>
void | SetPatchPrecision ()
template<>
void | SetFVarPatchPrecision ()

## Public Attributes
unsigned int | generateAllLevels: 1
| Generate levels from 'firstLevel' to 'maxLevel' (Uniform mode only) More...
unsigned int | includeBaseLevelIndices: 1
| Include base level in patch point indices (Uniform mode only) More...
unsigned int | includeFVarBaseLevelIndices: 1
| Include base level in face-varying patch point indices (Uniform mode only) More...
unsigned int | triangulateQuads: 1
| Triangulate 'QUADS' primitives (Uniform mode only) More...
unsigned int | useSingleCreasePatch: 1
| Use single crease patch. More...
unsigned int | useInfSharpPatch: 1
| Use infinitely-sharp patch. More...
unsigned int | maxIsolationLevel: 4
| Cap adaptive feature isolation to the given level (max. 10) More...
unsigned int | endCapType: 3
| EndCapType. More...
unsigned int | shareEndCapPatchPoints: 1
unsigned int | generateVaryingTables: 1
| Generate varying patch tables. More...
unsigned int | generateVaryingLocalPoints: 1
| Generate local points with varying patches. More...
unsigned int | generateFVarTables: 1
| Generate face-varying patch tables. More...
unsigned int | patchPrecisionDouble: 1
| Generate double-precision stencils for vertex patches. More...
unsigned int | fvarPatchPrecisionDouble: 1
| Generate double-precision stencils for face-varying patches. More...
unsigned int | generateFVarLegacyLinearPatches: 1
| Generate all linear face-varying patches (legacy) More...
unsigned int | generateLegacySharpCornerPatches: 1
| Generate sharp regular patches at smooth corners (legacy) More...
int | numFVarChannels
| Number of channel indices and interpolation modes passed. More...
int const * | fvarChannelIndices
| List containing the indices of the channels selected for the factory. More...

## Detailed Description

Public options for the PatchTable factory.

Definition at line 45 of file patchTableFactory.h.

## Member Enumeration Documentation

## ◆ EndCapType

enum EndCapType

Choice for approximating irregular patches (end-caps)

This enum specifies how irregular patches (end-caps) are approximated. A basis is chosen, rather than a specific patch type, and has a corresponding patch type for each subdivision scheme, i.e. a quad and triangular patch type exists for each basis. These choices provide a trade-off between surface quality and performance.

Enumerator
ENDCAP_NONE | unspecified
ENDCAP_BILINEAR_BASIS | use linear patches (simple quads or tris)
ENDCAP_BSPLINE_BASIS | use BSpline-like patches (same patch type as regular)
ENDCAP_GREGORY_BASIS | use Gregory patches (highest quality, recommended default)
ENDCAP_LEGACY_GREGORY | legacy option for 2.x style Gregory patches (Catmark only)

Definition at line 55 of file patchTableFactory.h.

## Constructor & Destructor Documentation

## ◆ Options()

Options | ( | unsigned int | maxIsolation = `10` | ) |
| inline

Definition at line 63 of file patchTableFactory.h.

## Member Function Documentation

## ◆ GetEndCapType()

EndCapType GetEndCapType | ( |  | ) | const
| inline

Get endcap basis type.

Definition at line 85 of file patchTableFactory.h.

## ◆ GetRefineAdaptiveOptions()

TopologyRefiner::AdaptiveOptions GetRefineAdaptiveOptions | ( |  | ) | const
| inline

Determine adaptive refinement options to match assigned patch options.

Definition at line 97 of file patchTableFactory.h.

## ◆ SetEndCapType()

void SetEndCapType | ( | EndCapType | e | ) |
| inline

Set endcap basis type.

Definition at line 88 of file patchTableFactory.h.

## ◆ SetFVarPatchPrecision() [1/3]

void SetFVarPatchPrecision | ( |  | ) |

Set precision of face-varying patches.

## ◆ SetFVarPatchPrecision() [2/3]

void SetFVarPatchPrecision | ( |  | ) |
| inline

Definition at line 212 of file patchTableFactory.h.

## ◆ SetFVarPatchPrecision() [3/3]

void SetFVarPatchPrecision | ( |  | ) |
| inline

Definition at line 219 of file patchTableFactory.h.

## ◆ SetPatchPrecision() [1/3]

void SetPatchPrecision | ( |  | ) |

Set precision of vertex patches.

## ◆ SetPatchPrecision() [2/3]

void SetPatchPrecision | ( |  | ) |
| inline

Definition at line 209 of file patchTableFactory.h.

## ◆ SetPatchPrecision() [3/3]

void SetPatchPrecision | ( |  | ) |
| inline

Definition at line 216 of file patchTableFactory.h.

## Member Data Documentation

## ◆ endCapType

unsigned int endCapType

EndCapType.

Definition at line 107 of file patchTableFactory.h.

## ◆ fvarChannelIndices

int const* fvarChannelIndices

List containing the indices of the channels selected for the factory.

Definition at line 137 of file patchTableFactory.h.

## ◆ fvarPatchPrecisionDouble

unsigned int fvarPatchPrecisionDouble

Generate double-precision stencils for face-varying patches.

Definition at line 107 of file patchTableFactory.h.

## ◆ generateAllLevels

unsigned int generateAllLevels

Generate levels from 'firstLevel' to 'maxLevel' (Uniform mode only)

Definition at line 107 of file patchTableFactory.h.

## ◆ generateFVarLegacyLinearPatches

unsigned int generateFVarLegacyLinearPatches

Generate all linear face-varying patches (legacy)

Definition at line 107 of file patchTableFactory.h.

## ◆ generateFVarTables

unsigned int generateFVarTables

Generate face-varying patch tables.

Definition at line 107 of file patchTableFactory.h.

## ◆ generateLegacySharpCornerPatches

unsigned int generateLegacySharpCornerPatches

Generate sharp regular patches at smooth corners (legacy)

Definition at line 107 of file patchTableFactory.h.

## ◆ generateVaryingLocalPoints

unsigned int generateVaryingLocalPoints

Generate local points with varying patches.

Definition at line 107 of file patchTableFactory.h.

## ◆ generateVaryingTables

unsigned int generateVaryingTables

Generate varying patch tables.

Definition at line 107 of file patchTableFactory.h.

## ◆ includeBaseLevelIndices

unsigned int includeBaseLevelIndices

Include base level in patch point indices (Uniform mode only)

Definition at line 107 of file patchTableFactory.h.

## ◆ includeFVarBaseLevelIndices

unsigned int includeFVarBaseLevelIndices

Include base level in face-varying patch point indices (Uniform mode only)

Definition at line 107 of file patchTableFactory.h.

## ◆ maxIsolationLevel

unsigned int maxIsolationLevel

Cap adaptive feature isolation to the given level (max. 10)

Definition at line 107 of file patchTableFactory.h.

## ◆ numFVarChannels

int numFVarChannels

Number of channel indices and interpolation modes passed.

Definition at line 136 of file patchTableFactory.h.

## ◆ patchPrecisionDouble

unsigned int patchPrecisionDouble

Generate double-precision stencils for vertex patches.

Definition at line 107 of file patchTableFactory.h.

## ◆ shareEndCapPatchPoints

unsigned int shareEndCapPatchPoints

Share endcap patch points among adjacent endcap patches. currently only work with GregoryBasis.

Definition at line 107 of file patchTableFactory.h.

## ◆ triangulateQuads

unsigned int triangulateQuads

Triangulate 'QUADS' primitives (Uniform mode only)

Definition at line 107 of file patchTableFactory.h.

## ◆ useInfSharpPatch

unsigned int useInfSharpPatch

Use infinitely-sharp patch.

Definition at line 107 of file patchTableFactory.h.

## ◆ useSingleCreasePatch

unsigned int useSingleCreasePatch

Use single crease patch.

Definition at line 107 of file patchTableFactory.h.

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

- opensubdiv/far/patchTableFactory.h