All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
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

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 ( unsigned int  maxIsolation = 10)
inline

Definition at line 63 of file patchTableFactory.h.

Member Function Documentation

EndCapType GetEndCapType ( ) const
inline

Get endcap basis type.

Definition at line 85 of file patchTableFactory.h.

TopologyRefiner::AdaptiveOptions GetRefineAdaptiveOptions ( ) const
inline

Determine adaptive refinement options to match assigned patch options.

Definition at line 97 of file patchTableFactory.h.

void SetEndCapType ( EndCapType  e)
inline

Set endcap basis type.

Definition at line 88 of file patchTableFactory.h.

void SetFVarPatchPrecision ( )

Set precision of face-varying patches.

void SetFVarPatchPrecision ( )
inline

Definition at line 212 of file patchTableFactory.h.

void SetFVarPatchPrecision ( )
inline

Definition at line 219 of file patchTableFactory.h.

void SetPatchPrecision ( )

Set precision of vertex patches.

void SetPatchPrecision ( )
inline

Definition at line 209 of file patchTableFactory.h.

void SetPatchPrecision ( )
inline

Definition at line 216 of file patchTableFactory.h.

Member Data Documentation

unsigned int endCapType

EndCapType.

Definition at line 107 of file patchTableFactory.h.

int const* fvarChannelIndices

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

Definition at line 137 of file patchTableFactory.h.

unsigned int fvarPatchPrecisionDouble

Generate double-precision stencils for face-varying patches.

Definition at line 107 of file patchTableFactory.h.

unsigned int generateAllLevels

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

Definition at line 107 of file patchTableFactory.h.

unsigned int generateFVarLegacyLinearPatches

Generate all linear face-varying patches (legacy)

Definition at line 107 of file patchTableFactory.h.

unsigned int generateFVarTables

Generate face-varying patch tables.

Definition at line 107 of file patchTableFactory.h.

unsigned int generateLegacySharpCornerPatches

Generate sharp regular patches at smooth corners (legacy)

Definition at line 107 of file patchTableFactory.h.

unsigned int generateVaryingLocalPoints

Generate local points with varying patches.

Definition at line 107 of file patchTableFactory.h.

unsigned int generateVaryingTables

Generate varying patch tables.

Definition at line 107 of file patchTableFactory.h.

unsigned int includeBaseLevelIndices

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

Definition at line 107 of file patchTableFactory.h.

unsigned int includeFVarBaseLevelIndices

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

Definition at line 107 of file patchTableFactory.h.

unsigned int maxIsolationLevel

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

Definition at line 107 of file patchTableFactory.h.

int numFVarChannels

Number of channel indices and interpolation modes passed.

Definition at line 136 of file patchTableFactory.h.

unsigned int patchPrecisionDouble

Generate double-precision stencils for vertex patches.

Definition at line 107 of file patchTableFactory.h.

unsigned int shareEndCapPatchPoints

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

Definition at line 107 of file patchTableFactory.h.

unsigned int triangulateQuads

Triangulate 'QUADS' primitives (Uniform mode only)

Definition at line 107 of file patchTableFactory.h.

unsigned int useInfSharpPatch

Use infinitely-sharp patch.

Definition at line 107 of file patchTableFactory.h.

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: