24#ifndef OPENSUBDIV3_SDC_OPTIONS_H
25#define OPENSUBDIV3_SDC_OPTIONS_H
27#include "../version.h"
30namespace OPENSUBDIV_VERSION {
114 typedef unsigned char EnumIntType;
116 EnumIntType _vtxBoundInterp;
117 EnumIntType _fvarLinInterp;
118 EnumIntType _creasingMethod;
119 EnumIntType _triangleSub;
125using namespace OPENSUBDIV_VERSION;
All supported options applying to subdivision scheme.
@ TRI_SUB_CATMARK
Catmark weights (Catmark scheme only)
@ TRI_SUB_SMOOTH
"smooth triangle" weights (Catmark scheme only)
@ CREASE_UNIFORM
Catmark rule.
@ CREASE_CHAIKIN
Chaikin rule.
TriangleSubdivision GetTriangleSubdivision() const
Get triangle subdivision weights rule (Catmark scheme only !)
CreasingMethod GetCreasingMethod() const
Get edge crease rule.
void SetFVarLinearInterpolation(FVarLinearInterpolation b)
Set face-varying interpolation rule.
void SetTriangleSubdivision(TriangleSubdivision t)
Set triangle subdivision weights rule (Catmark scheme only !)
VtxBoundaryInterpolation GetVtxBoundaryInterpolation() const
Get vertex boundary interpolation rule.
@ FVAR_LINEAR_CORNERS_ONLY
sharpen corners only
@ FVAR_LINEAR_BOUNDARIES
sharpen all boundaries ("always sharp")
@ FVAR_LINEAR_CORNERS_PLUS2
("edge and corner + propagate corner")
@ FVAR_LINEAR_CORNERS_PLUS1
("edge corner")
@ FVAR_LINEAR_ALL
bilinear interpolation ("bilinear")
@ FVAR_LINEAR_NONE
smooth everywhere ("edge only")
void SetVtxBoundaryInterpolation(VtxBoundaryInterpolation b)
Set vertex boundary interpolation rule.
FVarLinearInterpolation GetFVarLinearInterpolation() const
Get face-varying interpolation rule.
@ VTX_BOUNDARY_EDGE_ONLY
all boundary edges sharpened and interpolated
@ VTX_BOUNDARY_EDGE_AND_CORNER
void SetCreasingMethod(CreasingMethod c)
Set edge crease rule.