Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/DerivedMesh.cc
| Show First 20 Lines • Show All 992 Lines • ▼ Show 20 Lines | |||||
| add_orco_mesh(ob, em_input, mesh_final, mesh_orco, CD_ORCO); | add_orco_mesh(ob, em_input, mesh_final, mesh_orco, CD_ORCO); | ||||
| } | } | ||||
| if (mesh_orco) { | if (mesh_orco) { | ||||
| BKE_id_free(nullptr, mesh_orco); | BKE_id_free(nullptr, mesh_orco); | ||||
| } | } | ||||
| /* Ensure normals calculation below is correct (normal settings have transferred properly). | |||||
| * However, nodes modifiers might create meshes from scratch or transfer meshes from other | |||||
| * objects with different settings, and in general it doesn't make sense to guarantee that | |||||
| * the settings are the same as the original mesh. If necessary, this could become a modifier | |||||
| * type flag. */ | |||||
| BLI_assert(mesh_input->smoothresh == mesh_cage->smoothresh); | |||||
| /* Compute normals. */ | /* Compute normals. */ | ||||
| editbmesh_calc_modifier_final_normals(mesh_final, &final_datamask); | editbmesh_calc_modifier_final_normals(mesh_final, &final_datamask); | ||||
| if (mesh_cage && (mesh_cage != mesh_final)) { | if (mesh_cage && (mesh_cage != mesh_final)) { | ||||
| editbmesh_calc_modifier_final_normals(mesh_cage, &final_datamask); | editbmesh_calc_modifier_final_normals(mesh_cage, &final_datamask); | ||||
| } | } | ||||
| /* Return final mesh. */ | /* Return final mesh. */ | ||||
| *r_final = mesh_final; | *r_final = mesh_final; | ||||
| ▲ Show 20 Lines • Show All 471 Lines • Show Last 20 Lines | |||||