Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/modifier.c
| Show First 20 Lines • Show All 1,101 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| Mesh *me = NULL; | Mesh *me = NULL; | ||||
| if ((ob_eval->type == OB_MESH) && (ob_eval->mode & OB_MODE_EDIT)) { | if ((ob_eval->type == OB_MESH) && (ob_eval->mode & OB_MODE_EDIT)) { | ||||
| /* In EditMode, evaluated mesh is stored in BMEditMesh, not the object... */ | /* In EditMode, evaluated mesh is stored in BMEditMesh, not the object... */ | ||||
| BMEditMesh *em = BKE_editmesh_from_object(ob_eval); | BMEditMesh *em = BKE_editmesh_from_object(ob_eval); | ||||
| /* 'em' might not exist yet in some cases, just after loading a .blend file, see T57878. */ | /* 'em' might not exist yet in some cases, just after loading a .blend file, see T57878. */ | ||||
| if (em != NULL) { | if (em != NULL) { | ||||
| me = (get_cage_mesh && em->mesh_eval_cage != NULL) ? em->mesh_eval_cage : | Mesh *me_eval = ob_eval->data; | ||||
| em->mesh_eval_final; | EditMeshData *emd = me_eval->runtime.edit_data; | ||||
| me = (get_cage_mesh && emd->eval.mesh_eval_cage != NULL) ? emd->eval.mesh_eval_cage : | |||||
| emd->eval.mesh_eval_final; | |||||
| } | } | ||||
| } | } | ||||
| if (me == NULL) { | if (me == NULL) { | ||||
| me = (get_cage_mesh && ob_eval->runtime.mesh_deform_eval != NULL) ? | me = (get_cage_mesh && ob_eval->runtime.mesh_deform_eval != NULL) ? | ||||
| ob_eval->runtime.mesh_deform_eval : | ob_eval->runtime.mesh_deform_eval : | ||||
| BKE_object_get_evaluated_mesh(ob_eval); | BKE_object_get_evaluated_mesh(ob_eval); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 464 Lines • Show Last 20 Lines | |||||