Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/object_update.c
| Show First 20 Lines • Show All 161 Lines • ▼ Show 20 Lines | #if 0 | ||||
| BMEditMesh *em = (ob->mode & OB_MODE_EDIT) ? BKE_editmesh_from_object(ob) : NULL; | BMEditMesh *em = (ob->mode & OB_MODE_EDIT) ? BKE_editmesh_from_object(ob) : NULL; | ||||
| #else | #else | ||||
| BMEditMesh *em = (ob->mode & OB_MODE_EDIT) ? ((Mesh *)ob->data)->edit_mesh : NULL; | BMEditMesh *em = (ob->mode & OB_MODE_EDIT) ? ((Mesh *)ob->data)->edit_mesh : NULL; | ||||
| if (em && em->ob != ob) { | if (em && em->ob != ob) { | ||||
| em = NULL; | em = NULL; | ||||
| } | } | ||||
| #endif | #endif | ||||
| uint64_t data_mask = scene->customdata_mask | CD_MASK_BAREMESH; | CustomData_Masks cddata_masks = scene->customdata_mask; | ||||
| CustomData_Masks_update(&cddata_masks, &CD_MASK_BAREMESH); | |||||
| #ifdef WITH_FREESTYLE | #ifdef WITH_FREESTYLE | ||||
| /* make sure Freestyle edge/face marks appear in DM for render (see T40315) */ | /* make sure Freestyle edge/face marks appear in DM for render (see T40315) */ | ||||
| if (DEG_get_mode(depsgraph) != DAG_EVAL_VIEWPORT) { | if (DEG_get_mode(depsgraph) != DAG_EVAL_VIEWPORT) { | ||||
| data_mask |= CD_MASK_FREESTYLE_EDGE | CD_MASK_FREESTYLE_FACE; | cddata_masks.emask |= CD_MASK_FREESTYLE_EDGE; | ||||
| cddata_masks.pmask |= CD_MASK_FREESTYLE_FACE; | |||||
| } | } | ||||
| #endif | #endif | ||||
| if (em) { | if (em) { | ||||
| makeDerivedMesh(depsgraph, scene, ob, em, data_mask, false); /* was CD_MASK_BAREMESH */ | makeDerivedMesh(depsgraph, scene, ob, em, &cddata_masks, false); /* was CD_MASK_BAREMESH */ | ||||
| } | } | ||||
| else { | else { | ||||
| makeDerivedMesh(depsgraph, scene, ob, NULL, data_mask, false); | makeDerivedMesh(depsgraph, scene, ob, NULL, &cddata_masks, false); | ||||
| } | } | ||||
| break; | break; | ||||
| } | } | ||||
| case OB_ARMATURE: | case OB_ARMATURE: | ||||
| if (ID_IS_LINKED(ob) && ob->proxy_from) { | if (ID_IS_LINKED(ob) && ob->proxy_from) { | ||||
| if (BKE_pose_copy_result(ob->pose, ob->proxy_from->pose) == false) { | if (BKE_pose_copy_result(ob->pose, ob->proxy_from->pose) == false) { | ||||
| printf("Proxy copy error, lib Object: %s proxy Object: %s\n", | printf("Proxy copy error, lib Object: %s proxy Object: %s\n", | ||||
| ob->id.name + 2, ob->proxy_from->id.name + 2); | ob->id.name + 2, ob->proxy_from->id.name + 2); | ||||
| ▲ Show 20 Lines • Show All 252 Lines • Show Last 20 Lines | |||||