Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_meshdeform.c
| Show First 20 Lines • Show All 347 Lines • ▼ Show 20 Lines | static void meshdeformModifier_do(ModifierData *md, | ||||
| * 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 = 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); | ||||
| if (cagemesh == NULL) { | if (cagemesh == NULL) { | ||||
| BKE_modifier_set_error(ctx->object, md, "Cannot get mesh from cage object"); | BKE_modifier_set_error(ctx->object, md, "Cannot get mesh from cage object"); | ||||
| return; | return; | ||||
| } | } | ||||
| /* compute matrices to go in and out of cage object space */ | /* compute matrices to go in and out of cage object space */ | ||||
| invert_m4_m4(imat, ob_target->obmat); | invert_m4_m4(imat, ob_target->obmat); | ||||
| mul_m4_m4m4(cagemat, imat, ob->obmat); | mul_m4_m4m4(cagemat, imat, ob->obmat); | ||||
| ▲ Show 20 Lines • Show All 320 Lines • Show Last 20 Lines | |||||