Options Class Reference

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...

## Detailed Description

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.

Definition at line 51 of file options.h.

## Member Enumeration Documentation

## CreasingMethod

enum CreasingMethod

Enumerator
CREASE_UNIFORM | Catmark rule.
CREASE_CHAIKIN | Chaikin rule.

Definition at line 68 of file options.h.

## FVarLinearInterpolation

enum FVarLinearInterpolation

Enumerator
FVAR_LINEAR_NONE | smooth everywhere ("edge only")
FVAR_LINEAR_CORNERS_ONLY | sharpen corners only
FVAR_LINEAR_CORNERS_PLUS1 | ("edge corner")
FVAR_LINEAR_CORNERS_PLUS2 | ("edge and corner + propagate corner")
FVAR_LINEAR_BOUNDARIES | sharpen all boundaries ("always sharp")
FVAR_LINEAR_ALL | bilinear interpolation ("bilinear")

Definition at line 60 of file options.h.

## TriangleSubdivision

enum TriangleSubdivision

Enumerator
TRI_SUB_CATMARK | Catmark weights (Catmark scheme only)
TRI_SUB_SMOOTH | "smooth triangle" weights (Catmark scheme only)

Definition at line 72 of file options.h.

## VtxBoundaryInterpolation

enum VtxBoundaryInterpolation

Enumerator
VTX_BOUNDARY_NONE | no boundary interpolation, except where boundary edges were explicitly sharpened
VTX_BOUNDARY_EDGE_ONLY | all boundary edges sharpened and interpolated
VTX_BOUNDARY_EDGE_AND_CORNER | all boundary edges and corner vertices sharpened and interpolated

Definition at line 53 of file options.h.

## Constructor & Destructor Documentation

## Options()

Options | ( |  | ) |

inline

Definition at line 79 of file options.h.

## Member Function Documentation

## GetCreasingMethod()

CreasingMethod GetCreasingMethod | ( |  | ) | const

inline

Get edge crease rule.

Definition at line 101 of file options.h.

## GetFVarLinearInterpolation()

FVarLinearInterpolation GetFVarLinearInterpolation | ( |  | ) | const

inline

Get face-varying interpolation rule.

Definition at line 95 of file options.h.

## GetTriangleSubdivision()

TriangleSubdivision GetTriangleSubdivision | ( |  | ) | const

inline

Get triangle subdivision weights rule (Catmark scheme only !)

Definition at line 107 of file options.h.

## GetVtxBoundaryInterpolation()

VtxBoundaryInterpolation GetVtxBoundaryInterpolation | ( |  | ) | const

inline

Get vertex boundary interpolation rule.

Definition at line 89 of file options.h.

## SetCreasingMethod()

void SetCreasingMethod | ( | CreasingMethod | c | ) |

inline

Set edge crease rule.

Definition at line 104 of file options.h.

## SetFVarLinearInterpolation()

void SetFVarLinearInterpolation | ( | FVarLinearInterpolation | b | ) |

inline

Set face-varying interpolation rule.

Definition at line 98 of file options.h.

## SetTriangleSubdivision()

void SetTriangleSubdivision | ( | TriangleSubdivision | t | ) |

inline

Set triangle subdivision weights rule (Catmark scheme only !)

Definition at line 110 of file options.h.

## SetVtxBoundaryInterpolation()

void SetVtxBoundaryInterpolation | ( | VtxBoundaryInterpolation | b | ) |

inline

Set vertex boundary interpolation rule.

Definition at line 92 of file options.h.

The documentation for this class was generated from the following file:

- opensubdiv/sdc/options.h