33 const OpenSubdiv::Sdc::SchemeType converter_scheme_type =
41 using Options = OpenSubdiv::Sdc::Options;
43 const Options::FVarLinearInterpolation fvar_interpolation =
options.GetFVarLinearInterpolation();
44 const Options::FVarLinearInterpolation converter_fvar_interpolation =
47 if (fvar_interpolation != converter_fvar_interpolation) {
69 const int layer_index)
72 const int num_faces = base_level.GetNumFaces();
75 for (
int face_index = 0; face_index < num_faces; ++face_index) {
76 OpenSubdiv::Far::ConstIndexArray base_level_face_uvs = base_level.GetFaceFVarValues(
77 face_index, layer_index);
78 for (
int corner = 0; corner < base_level_face_uvs.size(); ++corner) {
80 if (base_level_face_uvs[corner] != uv_index) {
93 using OpenSubdiv::Far::TopologyLevel;
97 if (base_level.GetNumFVarChannels() != num_layers) {
100 for (
int layer_index = 0; layer_index < num_layers; ++layer_index) {
MeshTopology base_mesh_topology
OpenSubdiv::Far::TopologyRefiner * topology_refiner
bool isEqualToConverter(const OpenSubdiv_Converter *converter) const
CCL_NAMESPACE_BEGIN struct Options options
static const OpenSubdiv::Far::TopologyLevel & getOSDTopologyBaseLevel(const TopologyRefinerImpl *topology_refiner_impl)
static bool checkPreliminaryMatches(const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
static bool checkUVLayersMatch(const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
static const OpenSubdiv::Far::TopologyRefiner * getOSDTopologyRefiner(const TopologyRefinerImpl *topology_refiner_impl)
static bool checkOptionsMatches(const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
OpenSubdiv::Sdc::SchemeType getSchemeTypeFromCAPI(OpenSubdiv_SchemeType type)
static bool checkSchemeTypeMatches(const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
static bool checkTopologyAttributesMatch(const TopologyRefinerImpl *topology_refiner_impl, const OpenSubdiv_Converter *converter)
OpenSubdiv::Sdc::Options::FVarLinearInterpolation getFVarLinearInterpolationFromCAPI(OpenSubdiv_FVarLinearInterpolation linear_interpolation)
static bool checkSingleUVLayerMatch(const OpenSubdiv::Far::TopologyLevel &base_level, const OpenSubdiv_Converter *converter, const int layer_index)
int(* getFaceCornerUVIndex)(const OpenSubdiv_Converter *converter, const int face_index, const int corner_index)
void(* precalcUVLayer)(const OpenSubdiv_Converter *converter, const int layer_index)
OpenSubdiv_FVarLinearInterpolation(* getFVarLinearInterpolation)(const OpenSubdiv_Converter *converter)
int(* getNumUVLayers)(const OpenSubdiv_Converter *converter)
OpenSubdiv_SchemeType(* getSchemeType)(const OpenSubdiv_Converter *converter)
void(* finishUVLayer)(const OpenSubdiv_Converter *converter)