[Bf-blender-cvs] [7c59a8fca2c] derived: Cleanup: removed unused mesh_calc_modifiers code.
Brecht Van Lommel
noreply at git.blender.org
Thu Mar 28 02:28:50 CET 2019
Commit: 7c59a8fca2ce6a3c083736e0f1e084c6a75a947a
Author: Brecht Van Lommel
Date: Wed Mar 27 23:24:29 2019 +0100
Branches: derived
https://developer.blender.org/rB7c59a8fca2ce6a3c083736e0f1e084c6a75a947a
Cleanup: removed unused mesh_calc_modifiers code.
===================================================================
M source/blender/blenkernel/BKE_DerivedMesh.h
M source/blender/blenkernel/BKE_mesh_runtime.h
M source/blender/blenkernel/intern/DerivedMesh.c
M source/blender/blenkernel/intern/crazyspace.c
M source/blender/blenkernel/intern/object_update.c
M source/blender/python/bmesh/bmesh_py_types.c
M source/blender/python/mathutils/mathutils_bvhtree.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 734d9060be6..46938b13ea6 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -445,7 +445,7 @@ float (*editbmesh_get_vertex_cos(struct BMEditMesh *em, int *r_numVerts))[3];
bool editbmesh_modifier_is_enabled(struct Scene *scene, struct ModifierData *md, bool has_prev_mesh);
void makeDerivedMesh(
struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct BMEditMesh *em,
- const struct CustomData_MeshMasks *dataMask, const bool build_shapekey_layers);
+ const struct CustomData_MeshMasks *dataMask);
void DM_calc_loop_tangents(
DerivedMesh *dm, bool calc_active_tangent, const char (*tangent_names)[MAX_NAME],
diff --git a/source/blender/blenkernel/BKE_mesh_runtime.h b/source/blender/blenkernel/BKE_mesh_runtime.h
index b06b72e2180..3be97ad7afe 100644
--- a/source/blender/blenkernel/BKE_mesh_runtime.h
+++ b/source/blender/blenkernel/BKE_mesh_runtime.h
@@ -78,12 +78,10 @@ struct Mesh *mesh_create_eval_final_view(
struct Mesh *mesh_create_eval_no_deform(
struct Depsgraph *depsgraph, struct Scene *scene,
- struct Object *ob, float (*vertCos)[3],
- const struct CustomData_MeshMasks *dataMask);
+ struct Object *ob, const struct CustomData_MeshMasks *dataMask);
struct Mesh *mesh_create_eval_no_deform_render(
struct Depsgraph *depsgraph, struct Scene *scene,
- struct Object *ob, float (*vertCos)[3],
- const struct CustomData_MeshMasks *dataMask);
+ struct Object *ob, const struct CustomData_MeshMasks *dataMask);
void BKE_mesh_runtime_eval_to_meshkey(struct Mesh *me_deformed, struct Mesh *me, struct KeyBlock *kb);
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 997f7977f63..33450aeb2d4 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -983,43 +983,6 @@ static void shapekey_layers_to_keyblocks(DerivedMesh *dm, Mesh *me, int actshape
}
}
-static void add_shapekey_layers(Mesh *me_dst, Mesh *me_src, Object *UNUSED(ob))
-{
- KeyBlock *kb;
- Key *key = me_src->key;
- int i;
-
- if (!me_src->key)
- return;
-
- /* ensure we can use mesh vertex count for derived mesh custom data */
- if (me_src->totvert != me_dst->totvert) {
- CLOG_WARN(&LOG, "vertex size mismatch (mesh/eval) '%s' (%d != %d)",
- me_src->id.name + 2, me_src->totvert, me_dst->totvert);
- return;
- }
-
- for (i = 0, kb = key->block.first; kb; kb = kb->next, i++) {
- int ci;
- float *array;
-
- if (me_src->totvert != kb->totelem) {
- CLOG_WARN(&LOG, "vertex size mismatch (Mesh '%s':%d != KeyBlock '%s':%d)",
- me_src->id.name + 2, me_src->totvert, kb->name, kb->totelem);
- array = MEM_calloc_arrayN((size_t)me_src->totvert, sizeof(float[3]), __func__);
- }
- else {
- array = MEM_malloc_arrayN((size_t)me_src->totvert, sizeof(float[3]), __func__);
- memcpy(array, kb->data, (size_t)me_src->totvert * sizeof(float[3]));
- }
-
- CustomData_add_layer_named(&me_dst->vdata, CD_SHAPEKEY, CD_ASSIGN, array, me_dst->totvert, kb->name);
- ci = CustomData_get_layer_index_n(&me_dst->vdata, CD_SHAPEKEY, i);
-
- me_dst->vdata.layers[ci].uid = kb->uid;
- }
-}
-
static void mesh_copy_autosmooth(Mesh *me, Mesh *me_orig)
{
if (me_orig->flag & ME_AUTOSMOOTH) {
@@ -1029,12 +992,16 @@ static void mesh_copy_autosmooth(Mesh *me, Mesh *me_orig)
}
static void mesh_calc_modifiers(
- struct Depsgraph *depsgraph, Scene *scene, Object *ob, float (*inputVertexCos)[3],
+ struct Depsgraph *depsgraph,
+ Scene *scene, Object *ob,
int useDeform,
- const bool need_mapping, const CustomData_MeshMasks *dataMask,
- const int index, const bool useCache, const bool build_shapekey_layers,
+ const bool need_mapping,
+ const CustomData_MeshMasks *dataMask,
+ const int index,
+ const bool useCache,
/* return args */
- Mesh **r_deform, Mesh **r_final)
+ Mesh **r_deform,
+ Mesh **r_final)
{
ModifierData *firstmd, *md, *previewmd = NULL;
CDMaskLink *datamasks, *curr;
@@ -1104,9 +1071,6 @@ static void mesh_calc_modifiers(
Mesh *me = NULL;
if (useDeform) {
- if (inputVertexCos)
- deformedVerts = inputVertexCos;
-
/* Apply all leading deforming modifiers */
for (; md; md = md->next, curr = curr->next) {
const ModifierTypeInfo *mti = modifierType_getInfo(md->type);
@@ -1152,12 +1116,6 @@ static void mesh_calc_modifiers(
if (r_deform) {
*r_deform = BKE_mesh_copy_for_eval(ob->data, true);
- /* XXX: Is build_shapekey_layers ever even true? This should have crashed long ago... */
- BLI_assert(!build_shapekey_layers);
- if (build_shapekey_layers) {
- add_shapekey_layers(*r_deform, ob->data, ob);
- }
-
if (deformedVerts) {
BKE_mesh_apply_vert_coords(*r_deform, deformedVerts);
}
@@ -1165,10 +1123,7 @@ static void mesh_calc_modifiers(
}
else {
/* default behavior for meshes */
- if (inputVertexCos)
- deformedVerts = inputVertexCos;
- else
- deformedVerts = BKE_mesh_vertexCos_get(ob->data, &numVerts);
+ deformedVerts = BKE_mesh_vertexCos_get(ob->data, &numVerts);
}
@@ -1292,10 +1247,6 @@ static void mesh_calc_modifiers(
me = BKE_mesh_copy_for_eval(ob->data, true);
ASSERT_IS_VALID_MESH(me);
- if (build_shapekey_layers) {
- add_shapekey_layers(me, ob->data, ob);
- }
-
if (deformedVerts) {
BKE_mesh_apply_vert_coords(me, deformedVerts);
}
@@ -1358,9 +1309,7 @@ static void mesh_calc_modifiers(
me = me_next;
if (deformedVerts) {
- if (deformedVerts != inputVertexCos) {
- MEM_freeN(deformedVerts);
- }
+ MEM_freeN(deformedVerts);
deformedVerts = NULL;
}
@@ -1463,10 +1412,6 @@ static void mesh_calc_modifiers(
else {
*r_final = BKE_mesh_copy_for_eval(ob->data, true);
- if (build_shapekey_layers) {
- add_shapekey_layers(*r_final, ob->data, ob);
- }
-
if (deformedVerts) {
BKE_mesh_apply_vert_coords(*r_final, deformedVerts);
}
@@ -1493,11 +1438,6 @@ static void mesh_calc_modifiers(
}
if (sculpt_dyntopo == false) {
- /* watch this! after 2.75a we move to from tessface to looptri (by default) */
- if (dataMask->fmask & CD_MASK_MFACE) {
- BKE_mesh_tessface_ensure(*r_final);
- }
-
/* without this, drawing ngon tri's faces will show ugly tessellated face
* normals and will also have to calculate normals on the fly, try avoid
* this where possible since calculating polygon normals isn't fast,
@@ -1525,7 +1465,7 @@ static void mesh_calc_modifiers(
BKE_id_free(NULL, me_orco_cloth);
}
- if (deformedVerts && deformedVerts != inputVertexCos)
+ if (deformedVerts)
MEM_freeN(deformedVerts);
BLI_linklist_free((LinkNode *)datamasks, NULL);
@@ -1836,24 +1776,6 @@ static void editbmesh_calc_modifiers(
}
}
- /* BMESH_ONLY, ensure tessface's used for drawing,
- * but don't recalculate if the last modifier in the stack gives us tessfaces
- * check if the derived meshes are DM_TYPE_EDITBMESH before calling, this isn't essential
- * but quiets annoying error messages since tessfaces wont be created. */
- if (dataMask->fmask & CD_MASK_MFACE) {
- if ((*r_final)->edit_mesh == NULL) {
- BKE_mesh_tessface_ensure(*r_final);
- }
- if (r_cage && *r_cage) {
- if ((*r_cage)->edit_mesh == NULL) {
- if (*r_cage != *r_final) {
- BKE_mesh_tessface_ensure(*r_cage);
- }
- }
- }
- }
- /* --- */
-
/* same as mesh_calc_modifiers (if using loop normals, poly nors have already been computed). */
if (!do_loop_normals) {
BKE_mesh_ensure_normals_for_display(*r_final);
@@ -1946,7 +1868,7 @@ static void mesh_runtime_check_normals_valid(const Mesh *mesh)
static void mesh_build_data(
struct Depsgraph *depsgraph, Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask,
- const bool build_shapekey_layers, const bool need_mapping)
+ const bool need_mapping)
{
BLI_assert(ob->type == OB_MESH);
@@ -1967,7 +1889,7 @@ static void mesh_build_data(
#endif
mesh_calc_modifiers(
- depsgraph, scene, ob, NULL, 1, need_mapping, dataMask, -1, true, build_shapekey_layers,
+ depsgraph, scene, ob, 1, need_mapping, dataMask, -1, true,
&ob->runtime.mesh_deform_eval, &ob->runtime.mesh_eval);
BKE_object_boundbox_calc_from_mesh(ob, ob->runtime.mesh_eval);
@@ -2063,7 +1985,7 @@ static void object_get_datamask(const Depsgraph *depsgraph, Object *ob, CustomDa
void makeDerivedMesh(
struct Depsgraph *depsgraph, Scene *scene, Object *ob, BMEditMesh *em,
- const CustomData_MeshMasks *dataMask, const bool build_shapekey_layers)
+ const CustomData_MeshMasks *dataMask)
{
bool need_mapping;
CustomData_MeshMasks cddata_masks = *dataMask;
@@ -2073,7 +1995,7 @@ void makeDerivedMesh(
editbmesh_build_data(depsgraph, scene, ob, em, &cddata_masks);
}
else {
- mesh_build_data(depsgraph, scene, ob, &cddata_masks, build_shapekey_layers, need_mapping);
+ mesh_build_data(depsgraph, scene, ob, &cddata_masks, need_mapping);
}
}
@@ -2101,7 +2023,7 @@ Mesh *mesh_get_eval_final(struct Depsgraph *depsgraph, Scene *scene, Object *ob,
{
CustomData_MeshMasks_update(&cddata_masks, &ob->runtime.last_data_mask);
mesh_build_data(depsgraph, scene, ob, &cddata_masks,
- false, need_mapping || ob->runtime.last_need_mapping);
+ need_mapping || ob->runtime.last_need_mapping);
}
if (ob->runtime.mesh_eval) { BLI_assert(!(ob->runtime.mesh_eval->runtime.cd_dirty_vert & CD_MASK_NORMAL)); }
@@ -2131,7 +2053,7 @@ Mesh *mesh_get_eval_deform(struct Depsgraph *depsgraph, Scene *scene, Object *ob
{
CustomData_MeshMasks_update(&cddata_masks, &ob->runtime.last_data_mask);
mesh_build_data(depsgraph, scene, ob, &cddata_masks,
- false, need_mapping || ob->runtime.last_need_mapping);
+ need_mapping || ob->runtime.last_need_mapping);
}
return ob->runtime.mesh_deform_eval;
@@ -2143,7 +2065,7 @
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list