35 const OpenSubdiv::Sdc::SchemeType converter_scheme_type =
43 typedef OpenSubdiv::Sdc::Options
Options;
45 const Options::FVarLinearInterpolation fvar_interpolation =
options.GetFVarLinearInterpolation();
46 const Options::FVarLinearInterpolation converter_fvar_interpolation =
49 if (fvar_interpolation != converter_fvar_interpolation) {
71 const int layer_index)
74 const int num_faces = base_level.GetNumFaces();
77 for (
int face_index = 0; face_index < num_faces; ++face_index) {
78 OpenSubdiv::Far::ConstIndexArray base_level_face_uvs = base_level.GetFaceFVarValues(
79 face_index, layer_index);
80 for (
int corner = 0; corner < base_level_face_uvs.size(); ++corner) {
82 if (base_level_face_uvs[corner] != uv_index) {
95 using OpenSubdiv::Far::TopologyLevel;
99 if (base_level.GetNumFVarChannels() != num_layers) {
102 for (
int layer_index = 0; layer_index < num_layers; ++layer_index) {
bool isEqualToConverter(const OpenSubdiv_Converter *converter) const
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)