Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_meshdeform.c
| Show First 20 Lines • Show All 290 Lines • ▼ Show 20 Lines | static void meshdeformModifier_do( | ||||
| * Only do this is the target object is in edit mode by itself, meaning | * Only do this is the target object is in edit mode by itself, meaning | ||||
| * we don't allow linked edit meshes here. | * we don't allow linked edit meshes here. | ||||
| * This is because editbmesh_get_mesh_cage_and_final() might easily | * This is because editbmesh_get_mesh_cage_and_final() might easily | ||||
| * conflict with the thread which evaluates object which is in the edit | * conflict with the thread which evaluates object which is in the edit | ||||
| * mode for this mesh. | * mode for this mesh. | ||||
| * | * | ||||
| * We'll support this case once granular dependency graph is landed. | * We'll support this case once granular dependency graph is landed. | ||||
| */ | */ | ||||
| Object *ob_target = DEG_get_evaluated_object(ctx->depsgraph, mmd->object); | Object *ob_target = mmd->object; | ||||
| cagemesh = BKE_modifier_get_evaluated_mesh_from_evaluated_object(ob_target, false); | cagemesh = BKE_modifier_get_evaluated_mesh_from_evaluated_object(ob_target, false); | ||||
| #if 0 /* This shall not be needed if we always get evaluated target object... */ | #if 0 /* This shall not be needed if we always get evaluated target object... */ | ||||
| if (cagemesh == NULL && mmd->bindcagecos == NULL && ob == DEG_get_original_object(ob)) { | if (cagemesh == NULL && mmd->bindcagecos == NULL && ob == DEG_get_original_object(ob)) { | ||||
| /* Special case, binding happens outside of depsgraph evaluation, so we can build our own | /* Special case, binding happens outside of depsgraph evaluation, so we can build our own | ||||
| * target mesh if needed. */ | * target mesh if needed. */ | ||||
| cagemesh = mesh_create_eval_final_view(ctx->depsgraph, DEG_get_input_scene(ctx->depsgraph), mmd->object, &CD_MASK_BAREMESH); | cagemesh = mesh_create_eval_final_view(ctx->depsgraph, DEG_get_input_scene(ctx->depsgraph), mmd->object, &CD_MASK_BAREMESH); | ||||
| free_cagemesh = cagemesh != NULL; | free_cagemesh = cagemesh != NULL; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 227 Lines • Show Last 20 Lines | |||||