Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/multires_reshape_util.c
| Show First 20 Lines • Show All 241 Lines • ▼ Show 20 Lines | bool multires_reshape_context_create_from_ccg(MultiresReshapeContext *reshape_context, | ||||
| return context_verify_or_free(reshape_context); | return context_verify_or_free(reshape_context); | ||||
| } | } | ||||
| bool multires_reshape_context_create_from_modifier(MultiresReshapeContext *reshape_context, | bool multires_reshape_context_create_from_modifier(MultiresReshapeContext *reshape_context, | ||||
| struct Object *object, | struct Object *object, | ||||
| struct MultiresModifierData *mmd, | struct MultiresModifierData *mmd, | ||||
| int top_level) | int top_level) | ||||
| { | { | ||||
| Subdiv *subdiv = multires_reshape_create_subdiv(NULL, object, mmd); | |||||
| const bool result = multires_reshape_context_create_from_subdiv( | |||||
| reshape_context, object, mmd, subdiv, top_level); | |||||
| reshape_context->need_free_subdiv = true; | |||||
| return result; | |||||
| } | |||||
| bool multires_reshape_context_create_from_subdiv(MultiresReshapeContext *reshape_context, | |||||
| struct Object *object, | |||||
| struct MultiresModifierData *mmd, | |||||
| struct Subdiv *subdiv, | |||||
| int top_level) | |||||
| { | |||||
| context_zero(reshape_context); | context_zero(reshape_context); | ||||
| Mesh *base_mesh = (Mesh *)object->data; | Mesh *base_mesh = (Mesh *)object->data; | ||||
| reshape_context->mmd = mmd; | reshape_context->mmd = mmd; | ||||
| reshape_context->base_mesh = base_mesh; | reshape_context->base_mesh = base_mesh; | ||||
| reshape_context->subdiv = multires_reshape_create_subdiv(NULL, object, mmd); | reshape_context->subdiv = subdiv; | ||||
| reshape_context->need_free_subdiv = true; | reshape_context->need_free_subdiv = false; | ||||
| reshape_context->reshape.level = mmd->totlvl; | reshape_context->reshape.level = mmd->totlvl; | ||||
| reshape_context->reshape.grid_size = BKE_subdiv_grid_size_from_level( | reshape_context->reshape.grid_size = BKE_subdiv_grid_size_from_level( | ||||
| reshape_context->reshape.level); | reshape_context->reshape.level); | ||||
| reshape_context->top.level = top_level; | reshape_context->top.level = top_level; | ||||
| reshape_context->top.grid_size = BKE_subdiv_grid_size_from_level(reshape_context->top.level); | reshape_context->top.grid_size = BKE_subdiv_grid_size_from_level(reshape_context->top.level); | ||||
| ▲ Show 20 Lines • Show All 518 Lines • Show Last 20 Lines | |||||