28static bool simple_to_catmull_clark_is_infinite_sharp_vertex(
41 const Mesh *base_mesh =
static_cast<const Mesh *
>(
object->data);
64 const Mesh *base_mesh =
static_cast<const Mesh *
>(
object->data);
void BKE_multires_subdiv_settings_init(blender::bke::subdiv::Settings *settings, const MultiresModifierData *mmd)
Object is a sort of wrapper for general info.
void multires_reshape_assign_final_coords_from_mdisps(const MultiresReshapeContext *reshape_context)
bool multires_reshape_context_create_from_subdiv(MultiresReshapeContext *reshape_context, Object *object, MultiresModifierData *mmd, blender::bke::subdiv::Subdiv *subdiv, int top_level)
void multires_reshape_context_free(MultiresReshapeContext *reshape_context)
void multires_reshape_store_original_grids(MultiresReshapeContext *reshape_context)
bool multires_reshape_context_create_from_modifier(MultiresReshapeContext *reshape_context, Object *object, MultiresModifierData *mmd, int top_level)
void multires_reshape_object_grids_to_tangent_displacement(const MultiresReshapeContext *reshape_context)
void multires_do_versions_simple_to_catmull_clark(Object *object, MultiresModifierData *mmd)
void free(Subdiv *subdiv)
void converter_init_for_mesh(OpenSubdiv_Converter *converter, const Settings *settings, const Mesh *mesh)
bool eval_begin_from_mesh(Subdiv *subdiv, const Mesh *mesh, eSubdivEvaluatorType evaluator_type, Span< float3 > coarse_vert_positions={}, OpenSubdiv_EvaluatorCache *evaluator_cache=nullptr)
Subdiv * new_from_converter(const Settings *settings, OpenSubdiv_Converter *converter)
@ SUBDIV_EVALUATOR_TYPE_CPU
void converter_free(OpenSubdiv_Converter *converter)
float(* getEdgeSharpness)(const OpenSubdiv_Converter *converter, const int edge_index)
bool(* isInfiniteSharpVertex)(const OpenSubdiv_Converter *converter, const int vertex_index)