14#include <opensubdiv/sdc/crease.h>
22 return OpenSubdiv::Sdc::SCHEME_BILINEAR;
24 return OpenSubdiv::Sdc::SCHEME_CATMARK;
26 return OpenSubdiv::Sdc::SCHEME_LOOP;
28 assert(!
"Unknown scheme type passed via C-API");
29 return OpenSubdiv::Sdc::SCHEME_CATMARK;
35 typedef OpenSubdiv::Sdc::Options
Options;
36 switch (linear_interpolation) {
38 return Options::FVAR_LINEAR_NONE;
40 return Options::FVAR_LINEAR_CORNERS_ONLY;
42 return Options::FVAR_LINEAR_CORNERS_PLUS1;
44 return Options::FVAR_LINEAR_CORNERS_PLUS2;
46 return Options::FVAR_LINEAR_BOUNDARIES;
48 return Options::FVAR_LINEAR_ALL;
50 assert(!
"Unknown fvar linear interpolation passed via C-API");
51 return Options::FVAR_LINEAR_NONE;
55 OpenSubdiv::Sdc::Options::FVarLinearInterpolation linear_interpolation)
57 typedef OpenSubdiv::Sdc::Options
Options;
58 switch (linear_interpolation) {
59 case Options::FVAR_LINEAR_NONE:
61 case Options::FVAR_LINEAR_CORNERS_ONLY:
63 case Options::FVAR_LINEAR_CORNERS_PLUS1:
65 case Options::FVAR_LINEAR_CORNERS_PLUS2:
67 case Options::FVAR_LINEAR_BOUNDARIES:
69 case Options::FVAR_LINEAR_ALL:
72 assert(!
"Unknown fvar linear interpolation passed via C-API");
79 using OpenSubdiv::Sdc::Options;
81 switch (boundary_interpolation) {
83 return Options::VTX_BOUNDARY_NONE;
85 return Options::VTX_BOUNDARY_EDGE_ONLY;
87 return Options::VTX_BOUNDARY_EDGE_AND_CORNER;
89 assert(!
"Unknown veretx boundary interpolation.");
90 return Options::VTX_BOUNDARY_EDGE_ONLY;
OpenSubdiv_FVarLinearInterpolation getCAPIFVarLinearInterpolationFromOSD(OpenSubdiv::Sdc::Options::FVarLinearInterpolation linear_interpolation)
OpenSubdiv::Sdc::Options::VtxBoundaryInterpolation getVtxBoundaryInterpolationFromCAPI(OpenSubdiv_VtxBoundaryInterpolation boundary_interpolation)
OpenSubdiv::Sdc::SchemeType getSchemeTypeFromCAPI(OpenSubdiv_SchemeType type)
OpenSubdiv::Sdc::Options::FVarLinearInterpolation getFVarLinearInterpolationFromCAPI(OpenSubdiv_FVarLinearInterpolation linear_interpolation)
OpenSubdiv_FVarLinearInterpolation
@ OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_ONLY
@ OSD_FVAR_LINEAR_INTERPOLATION_ALL
@ OSD_FVAR_LINEAR_INTERPOLATION_NONE
@ OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_PLUS1
@ OSD_FVAR_LINEAR_INTERPOLATION_BOUNDARIES
@ OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_PLUS2
OpenSubdiv_VtxBoundaryInterpolation
@ OSD_VTX_BOUNDARY_EDGE_AND_CORNER
@ OSD_VTX_BOUNDARY_EDGE_ONLY