![]() |
My Project
|
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 |
| Get vertex boundary interpolation rule. More... | |
| void | SetVtxBoundaryInterpolation (VtxBoundaryInterpolation b) |
| Set 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 subdivision weights rule (Catmark scheme only !) More... | |
| void | SetTriangleSubdivision (TriangleSubdivision t) |
| Set triangle subdivision 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 |