All supported options applying to subdivision scheme. More...
#include <options.h>
Public Types | |
enum | VtxBoundaryInterpolation { VTX_BOUNDARY_NONE = 0, VTX_BOUNDARY_EDGE_ONLY, VTX_BOUNDARY_EDGE_AND_CORNER } |
enum | FVarLinearInterpolation { FVAR_LINEAR_NONE = 0, FVAR_LINEAR_CORNERS_ONLY, FVAR_LINEAR_CORNERS_PLUS1, FVAR_LINEAR_CORNERS_PLUS2, FVAR_LINEAR_BOUNDARIES, FVAR_LINEAR_ALL } |
enum | CreasingMethod { CREASE_UNIFORM = 0, CREASE_CHAIKIN } |
enum | TriangleSubdivision { TRI_SUB_CATMARK = 0, TRI_SUB_SMOOTH } |
Public Member Functions | |
Options () | |
VtxBoundaryInterpolation | GetVtxBoundaryInterpolation () const |
Set vertex boundary interpolation rule. More... | |
void | SetVtxBoundaryInterpolation (VtxBoundaryInterpolation b) |
Get vertex boundary interpolation rule. More... | |
FVarLinearInterpolation | GetFVarLinearInterpolation () const |
Get face-varying interpolation rule. More... | |
void | SetFVarLinearInterpolation (FVarLinearInterpolation b) |
Set face-varying interpolation rule. More... | |
CreasingMethod | GetCreasingMethod () const |
Get edge crease rule. More... | |
void | SetCreasingMethod (CreasingMethod c) |
Set edge crease rule. More... | |
TriangleSubdivision | GetTriangleSubdivision () const |
Get triangle subdivsion weights rule (Catmark scheme only !) More... | |
void | SetTriangleSubdivision (TriangleSubdivision t) |
Set triangle subdivsion weights rule (Catmark scheme only !) More... | |
All supported options applying to subdivision scheme.
The Options class contains all supported options that can be applied to a subdivision scheme to affect the shape of the limit surface. These differ from approximations that may be applied at a higher level, i.e. options to limit the level of feature adaptive subdivision, options to ignore fractional creasing, or creasing entirely, etc. These options define the shape of a particular limit surface, including the "shape" of primitive variable data associated with it.
The intent is that these sets of options be defined at a high-level and propagated into the lowest-level computation in support of each subdivision scheme. Ideally it remains a set of bit-fields (essentially an int) and so remains light weight and easily passed around by value.
enum CreasingMethod |
enum TriangleSubdivision |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |