Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/DerivedMesh.cc
| Show First 20 Lines • Show All 1,890 Lines • ▼ Show 20 Lines | #endif | ||||
| * | * | ||||
| * Check ownership now, since later on we can not go to a mesh owned by someone else via | * Check ownership now, since later on we can not go to a mesh owned by someone else via | ||||
| * object's runtime: this could cause access freed data on depsgraph destruction (mesh who owns | * object's runtime: this could cause access freed data on depsgraph destruction (mesh who owns | ||||
| * the final result might be freed prior to object). */ | * the final result might be freed prior to object). */ | ||||
| Mesh *mesh = (Mesh *)ob->data; | Mesh *mesh = (Mesh *)ob->data; | ||||
| const bool is_mesh_eval_owned = (mesh_eval != mesh->runtime.mesh_eval); | const bool is_mesh_eval_owned = (mesh_eval != mesh->runtime.mesh_eval); | ||||
| BKE_object_eval_assign_data(ob, &mesh_eval->id, is_mesh_eval_owned); | BKE_object_eval_assign_data(ob, &mesh_eval->id, is_mesh_eval_owned); | ||||
| /* Add the final mesh as read-only non-owning component to the geometry set. */ | /* Add the final mesh as a non-owning component to the geometry set. */ | ||||
| MeshComponent &mesh_component = geometry_set_eval->get_component_for_write<MeshComponent>(); | MeshComponent &mesh_component = geometry_set_eval->get_component_for_write<MeshComponent>(); | ||||
| mesh_component.replace(mesh_eval, GeometryOwnershipType::ReadOnly); | mesh_component.replace(mesh_eval, GeometryOwnershipType::Editable); | ||||
| ob->runtime.geometry_set_eval = geometry_set_eval; | ob->runtime.geometry_set_eval = geometry_set_eval; | ||||
| ob->runtime.mesh_deform_eval = mesh_deform_eval; | ob->runtime.mesh_deform_eval = mesh_deform_eval; | ||||
| ob->runtime.last_data_mask = *dataMask; | ob->runtime.last_data_mask = *dataMask; | ||||
| ob->runtime.last_need_mapping = need_mapping; | ob->runtime.last_need_mapping = need_mapping; | ||||
| BKE_object_boundbox_calc_from_mesh(ob, mesh_eval); | BKE_object_boundbox_calc_from_mesh(ob, mesh_eval); | ||||
| ▲ Show 20 Lines • Show All 583 Lines • Show Last 20 Lines | |||||