OpenSubdiv
|
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. | |
void | SetEndCapType (EndCapType e) |
Set endcap basis type. | |
void | SetMaxIsolationLevel (unsigned int level) |
Set maximum isolation level. | |
template<typename REAL > | |
void | SetPatchPrecision () |
Set precision of vertex patches. | |
template<typename REAL > | |
void | SetFVarPatchPrecision () |
Set precision of face-varying patches. | |
TopologyRefiner::AdaptiveOptions | GetRefineAdaptiveOptions () const |
Determine adaptive refinement options to match assigned patch options. | |
template<> | |
void | SetPatchPrecision () |
template<> | |
void | SetFVarPatchPrecision () |
Public Attributes | |
unsigned int | generateAllLevels: 1 |
Generate levels from 'firstLevel' to 'maxLevel' (Uniform mode only) | |
unsigned int | includeBaseLevelIndices: 1 |
Include base level in patch point indices (Uniform mode only) | |
unsigned int | includeFVarBaseLevelIndices: 1 |
Include base level in face-varying patch point indices (Uniform mode only) | |
unsigned int | triangulateQuads: 1 |
Triangulate 'QUADS' primitives (Uniform mode only) | |
unsigned int | useSingleCreasePatch: 1 |
Use single crease patch. | |
unsigned int | useInfSharpPatch: 1 |
Use infinitely-sharp patch. | |
unsigned int | maxIsolationLevel: 4 |
Cap adaptive feature isolation to the given level (max. 10) | |
unsigned int | endCapType: 3 |
EndCapType. | |
unsigned int | shareEndCapPatchPoints: 1 |
unsigned int | generateVaryingTables: 1 |
Generate varying patch tables. | |
unsigned int | generateVaryingLocalPoints: 1 |
Generate local points with varying patches. | |
unsigned int | generateFVarTables: 1 |
Generate face-varying patch tables. | |
unsigned int | patchPrecisionDouble: 1 |
Generate double-precision stencils for vertex patches. | |
unsigned int | fvarPatchPrecisionDouble: 1 |
Generate double-precision stencils for face-varying patches. | |
unsigned int | generateFVarLegacyLinearPatches: 1 |
Generate all linear face-varying patches (legacy) | |
unsigned int | generateLegacySharpCornerPatches: 1 |
Generate sharp regular patches at smooth corners (legacy) | |
int | numFVarChannels |
Number of channel indices and interpolation modes passed. | |
int const * | fvarChannelIndices |
List containing the indices of the channels selected for the factory. | |
Public options for the PatchTable factory.
Definition at line 45 of file patchTableFactory.h.
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.
Definition at line 55 of file patchTableFactory.h.
|
inline |
Definition at line 63 of file patchTableFactory.h.
|
inline |
Get endcap basis type.
Definition at line 85 of file patchTableFactory.h.
|
inline |
Determine adaptive refinement options to match assigned patch options.
Definition at line 100 of file patchTableFactory.h.
|
inline |
Set endcap basis type.
Definition at line 88 of file patchTableFactory.h.
void SetFVarPatchPrecision | ( | ) |
Set precision of face-varying patches.
|
inline |
Definition at line 215 of file patchTableFactory.h.
|
inline |
Set maximum isolation level.
Definition at line 91 of file patchTableFactory.h.
void SetPatchPrecision | ( | ) |
Set precision of vertex patches.
|
inline |
Definition at line 212 of file patchTableFactory.h.
unsigned int endCapType |
EndCapType.
Definition at line 120 of file patchTableFactory.h.
int const* fvarChannelIndices |
List containing the indices of the channels selected for the factory.
Definition at line 140 of file patchTableFactory.h.
unsigned int fvarPatchPrecisionDouble |
Generate double-precision stencils for face-varying patches.
Definition at line 133 of file patchTableFactory.h.
unsigned int generateAllLevels |
Generate levels from 'firstLevel' to 'maxLevel' (Uniform mode only)
Definition at line 110 of file patchTableFactory.h.
unsigned int generateFVarLegacyLinearPatches |
Generate all linear face-varying patches (legacy)
Definition at line 136 of file patchTableFactory.h.
unsigned int generateFVarTables |
Generate face-varying patch tables.
Definition at line 129 of file patchTableFactory.h.
unsigned int generateLegacySharpCornerPatches |
Generate sharp regular patches at smooth corners (legacy)
Definition at line 137 of file patchTableFactory.h.
unsigned int generateVaryingLocalPoints |
Generate local points with varying patches.
Definition at line 126 of file patchTableFactory.h.
unsigned int generateVaryingTables |
Generate varying patch tables.
Definition at line 125 of file patchTableFactory.h.
unsigned int includeBaseLevelIndices |
Include base level in patch point indices (Uniform mode only)
Definition at line 111 of file patchTableFactory.h.
unsigned int includeFVarBaseLevelIndices |
Include base level in face-varying patch point indices (Uniform mode only)
Definition at line 112 of file patchTableFactory.h.
unsigned int maxIsolationLevel |
Cap adaptive feature isolation to the given level (max. 10)
Definition at line 117 of file patchTableFactory.h.
int numFVarChannels |
Number of channel indices and interpolation modes passed.
Definition at line 139 of file patchTableFactory.h.
unsigned int patchPrecisionDouble |
Generate double-precision stencils for vertex patches.
Definition at line 132 of file patchTableFactory.h.
unsigned int shareEndCapPatchPoints |
Share endcap patch points among adjacent endcap patches. currently only work with GregoryBasis.
Definition at line 121 of file patchTableFactory.h.
unsigned int triangulateQuads |
Triangulate 'QUADS' primitives (Uniform mode only)
Definition at line 113 of file patchTableFactory.h.
unsigned int useInfSharpPatch |
Use infinitely-sharp patch.
Definition at line 116 of file patchTableFactory.h.
unsigned int useSingleCreasePatch |
Use single crease patch.
Definition at line 115 of file patchTableFactory.h.