Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/multires.c
| Show First 20 Lines • Show All 416 Lines • ▼ Show 20 Lines | if (ob && ob->sculpt && ob->sculpt->pbvh != NULL) { | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| void multires_force_sculpt_rebuild(Object *ob) | void multires_force_sculpt_rebuild(Object *ob) | ||||
| { | { | ||||
| multires_flush_sculpt_updates(ob); | multires_flush_sculpt_updates(ob); | ||||
| if (ob && ob->sculpt && ob->sculpt->pbvh != NULL) { | if (ob && ob->sculpt) { | ||||
| BKE_pbvh_free(ob->sculpt->pbvh); | SculptSession *ss = ob->sculpt; | ||||
| if (ss->pbvh) { | |||||
| BKE_pbvh_free(ss->pbvh); | |||||
| ob->sculpt->pbvh = NULL; | ob->sculpt->pbvh = NULL; | ||||
| } | } | ||||
| if (ss->pmap) { | |||||
| MEM_freeN(ss->pmap); | |||||
| ss->pmap = NULL; | |||||
| } | |||||
| if (ss->pmap_mem) { | |||||
| MEM_freeN(ss->pmap_mem); | |||||
| ss->pmap_mem = NULL; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| void multires_force_external_reload(Object *ob) | void multires_force_external_reload(Object *ob) | ||||
| { | { | ||||
| Mesh *me = BKE_mesh_from_object(ob); | Mesh *me = BKE_mesh_from_object(ob); | ||||
| CustomData_external_reload(&me->ldata, &me->id, CD_MASK_MDISPS, me->totloop); | CustomData_external_reload(&me->ldata, &me->id, CD_MASK_MDISPS, me->totloop); | ||||
| multires_force_sculpt_rebuild(ob); | multires_force_sculpt_rebuild(ob); | ||||
| ▲ Show 20 Lines • Show All 2,110 Lines • Show Last 20 Lines | |||||