[Bf-blender-cvs] [38828309d39] blender2.8: Cleanup: unused code

Campbell Barton noreply at git.blender.org
Mon Oct 15 09:49:30 CEST 2018


Commit: 38828309d393c446392d9266451efd99a43c989e
Author: Campbell Barton
Date:   Mon Oct 15 18:11:37 2018 +1100
Branches: blender2.8
https://developer.blender.org/rB38828309d393c446392d9266451efd99a43c989e

Cleanup: unused code

===================================================================

M	source/blender/blenkernel/BKE_cdderivedmesh.h
M	source/blender/blenkernel/intern/cdderivedmesh.c
M	source/blender/modifiers/intern/MOD_array.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_cdderivedmesh.h b/source/blender/blenkernel/BKE_cdderivedmesh.h
index 0d2d6057e8a..f2c0b96aa80 100644
--- a/source/blender/blenkernel/BKE_cdderivedmesh.h
+++ b/source/blender/blenkernel/BKE_cdderivedmesh.h
@@ -63,15 +63,6 @@ struct DerivedMesh *CDDM_from_bmesh(struct BMesh *bm, const bool use_mdisps);
 /* creates a CDDerivedMesh from the given BMEditMesh */
 DerivedMesh *CDDM_from_editbmesh(struct BMEditMesh *em, const bool use_mdisps, const bool use_tessface);
 
-/* merge verts  */
-/* Enum for merge_mode of CDDM_merge_verts.
- * Refer to cdderivedmesh.c for details. */
-enum {
-	CDDM_MERGE_VERTS_DUMP_IF_MAPPED,
-	CDDM_MERGE_VERTS_DUMP_IF_EQUAL,
-};
-DerivedMesh *CDDM_merge_verts(DerivedMesh *dm, const int *vtargetmap, const int tot_vtargetmap, const int merge_mode);
-
 /* creates a CDDerivedMesh from the given curve object */
 struct DerivedMesh *CDDM_from_curve(struct Object *ob);
 
@@ -83,8 +74,6 @@ DerivedMesh *CDDM_from_curve_displist(struct Object *ob, struct ListBase *dispba
  * custom element data.
  */
 struct DerivedMesh *CDDM_copy(struct DerivedMesh *dm);
-struct DerivedMesh *CDDM_copy_from_tessface(struct DerivedMesh *dm);
-struct DerivedMesh *CDDM_copy_with_tessface(struct DerivedMesh *dm);
 
 /* creates a CDDerivedMesh with the same layer stack configuration as the
  * given DerivedMesh and containing the requested numbers of elements.
@@ -100,11 +89,6 @@ struct DerivedMesh *CDDM_from_template(
         int numVerts, int numEdges, int numFaces,
         int numLoops, int numPolys);
 
-/* converts mfaces to mpolys.  note things may break if there are not valid
- * medges surrounding each mface.
- */
-void CDDM_tessfaces_to_faces(struct DerivedMesh *dm);
-
 /* applies vertex coordinates or normals to a CDDerivedMesh. if the MVert
  * layer is a referenced layer, it will be duplicate to not overwrite the
  * original
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 298a6ab0ec4..1c3b75b1771 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -938,16 +938,13 @@ DerivedMesh *CDDM_from_editbmesh(BMEditMesh *em, const bool use_mdisps, const bo
 	        use_tessface, em->tottri, (const BMLoop *(*)[3])em->looptris);
 }
 
-static DerivedMesh *cddm_copy_ex(DerivedMesh *source,
-                                 const bool need_tessface_data,
-                                 const bool faces_from_tessfaces)
+DerivedMesh *CDDM_copy(DerivedMesh *source)
 {
-	const bool copy_tessface_data = (faces_from_tessfaces || need_tessface_data);
 	CDDerivedMesh *cddm = cdDM_create("CDDM_copy cddm");
 	DerivedMesh *dm = &cddm->dm;
 	int numVerts = source->numVertData;
 	int numEdges = source->numEdgeData;
-	int numTessFaces = copy_tessface_data ? source->numTessFaceData : 0;
+	int numTessFaces = 0;
 	int numLoops = source->numLoopData;
 	int numPolys = source->numPolyData;
 
@@ -957,9 +954,6 @@ static DerivedMesh *cddm_copy_ex(DerivedMesh *source,
 	source->getVertDataArray(source, CD_ORIGINDEX);
 	source->getEdgeDataArray(source, CD_ORIGINDEX);
 	source->getPolyDataArray(source, CD_ORIGINDEX);
-	if (copy_tessface_data) {
-		source->getTessFaceDataArray(source, CD_ORIGINDEX);
-	}
 
 	/* this initializes dm, and copies all non mvert/medge/mface layers */
 	DM_from_template(dm, source, DM_TYPE_CDDM, numVerts, numEdges, numTessFaces,
@@ -971,15 +965,10 @@ static DerivedMesh *cddm_copy_ex(DerivedMesh *source,
 	/* Tessellation data is never copied, so tag it here.
 	 * Only tag dirty layers if we really ignored tessellation faces.
 	 */
-	if (!copy_tessface_data) {
-		dm->dirty |= DM_DIRTY_TESS_CDLAYERS;
-	}
+	dm->dirty |= DM_DIRTY_TESS_CDLAYERS;
 
 	CustomData_copy_data(&source->vertData, &dm->vertData, 0, 0, numVerts);
 	CustomData_copy_data(&source->edgeData, &dm->edgeData, 0, 0, numEdges);
-	if (copy_tessface_data) {
-		CustomData_copy_data(&source->faceData, &dm->faceData, 0, 0, numTessFaces);
-	}
 
 	/* now add mvert/medge/mface layers */
 	cddm->mvert = source->dupVertArray(source);
@@ -988,17 +977,7 @@ static DerivedMesh *cddm_copy_ex(DerivedMesh *source,
 	CustomData_add_layer(&dm->vertData, CD_MVERT, CD_ASSIGN, cddm->mvert, numVerts);
 	CustomData_add_layer(&dm->edgeData, CD_MEDGE, CD_ASSIGN, cddm->medge, numEdges);
 
-	if (faces_from_tessfaces || copy_tessface_data) {
-		cddm->mface = source->dupTessFaceArray(source);
-		CustomData_add_layer(&dm->faceData, CD_MFACE, CD_ASSIGN, cddm->mface, numTessFaces);
-	}
-
-	if (!faces_from_tessfaces) {
-		DM_DupPolys(source, dm);
-	}
-	else {
-		CDDM_tessfaces_to_faces(dm);
-	}
+	DM_DupPolys(source, dm);
 
 	cddm->mloop = CustomData_get_layer(&dm->loopData, CD_MLOOP);
 	cddm->mpoly = CustomData_get_layer(&dm->polyData, CD_MPOLY);
@@ -1006,21 +985,6 @@ static DerivedMesh *cddm_copy_ex(DerivedMesh *source,
 	return dm;
 }
 
-DerivedMesh *CDDM_copy(DerivedMesh *source)
-{
-	return cddm_copy_ex(source, false, false);
-}
-
-DerivedMesh *CDDM_copy_from_tessface(DerivedMesh *source)
-{
-	return cddm_copy_ex(source, false, true);
-}
-
-DerivedMesh *CDDM_copy_with_tessface(DerivedMesh *source)
-{
-	return cddm_copy_ex(source, true, false);
-}
-
 /* note, the CD_ORIGINDEX layers are all 0, so if there is a direct
  * relationship between mesh data this needs to be set by the caller. */
 DerivedMesh *CDDM_from_template_ex(
@@ -1289,647 +1253,6 @@ void CDDM_calc_loop_normals_spacearr(
 #endif
 }
 
-#if 1
-/* TODO(sybren): Delete everything in this #if block after we have ported the modifiers
- * to use Mesh instead of DerivedMesh. The code has been copied to mesh_merge.c and ported. */
-/**
- * Poly compare with vtargetmap
- * Function used by #CDDM_merge_verts.
- * The function compares poly_source after applying vtargetmap, with poly_target.
- * The two polys are identical if they share the same vertices in the same order, or in reverse order,
- * but starting position loopstart may be different.
- * The function is called with direct_reverse=1 for same order (i.e. same normal),
- * and may be called again with direct_reverse=-1 for reverse order.
- * \return 1 if polys are identical,  0 if polys are different.
- */
-static int cddm_poly_compare(
-        MLoop *mloop_array,
-        MPoly *mpoly_source, MPoly *mpoly_target,
-        const int *vtargetmap, const int direct_reverse)
-{
-	int vert_source, first_vert_source, vert_target;
-	int i_loop_source;
-	int i_loop_target, i_loop_target_start, i_loop_target_offset, i_loop_target_adjusted;
-	bool compare_completed = false;
-	bool same_loops = false;
-
-	MLoop *mloop_source, *mloop_target;
-
-	BLI_assert(direct_reverse == 1 || direct_reverse == -1);
-
-	i_loop_source = 0;
-	mloop_source = mloop_array + mpoly_source->loopstart;
-	vert_source = mloop_source->v;
-
-	if (vtargetmap[vert_source] != -1) {
-		vert_source = vtargetmap[vert_source];
-	}
-	else {
-		/* All source loop vertices should be mapped */
-		BLI_assert(false);
-	}
-
-	/* Find same vertex within mpoly_target's loops */
-	mloop_target = mloop_array + mpoly_target->loopstart;
-	for (i_loop_target = 0; i_loop_target < mpoly_target->totloop; i_loop_target++, mloop_target++) {
-		if (mloop_target->v == vert_source) {
-			break;
-		}
-	}
-
-	/* If same vertex not found, then polys cannot be equal */
-	if (i_loop_target >= mpoly_target->totloop) {
-		return false;
-	}
-
-	/* Now mloop_source and m_loop_target have one identical vertex */
-	/* mloop_source is at position 0, while m_loop_target has advanced to find identical vertex */
-	/* Go around the loop and check that all vertices match in same order */
-	/* Skipping source loops when consecutive source vertices are mapped to same target vertex */
-
-	i_loop_target_start = i_loop_target;
-	i_loop_target_offset = 0;
-	first_vert_source = vert_source;
-
-	compare_completed = false;
-	same_loops = false;
-
-	while (!compare_completed) {
-
-		vert_target = mloop_target->v;
-
-		/* First advance i_loop_source, until it points to different vertex, after mapping applied */
-		do {
-			i_loop_source++;
-
-			if (i_loop_source == mpoly_source->totloop) {
-				/* End of loops for source, must match end of loop for target.  */
-				if (i_loop_target_offset == mpoly_target->totloop - 1) {
-					compare_completed = true;
-					same_loops = true;
-					break;  /* Polys are identical */
-				}
-				else {
-					compare_completed = true;
-					same_loops = false;
-					break;  /* Polys are different */
-				}
-			}
-
-			mloop_source++;
-			vert_source = mloop_source->v;
-
-			if (vtargetmap[vert_source] != -1) {
-				vert_source = vtargetmap[vert_source];
-			}
-			else {
-				/* All source loop vertices should be mapped */
-				BLI_assert(false);
-			}
-
-		} while (vert_source == vert_target);
-
-		if (compare_completed) {
-			break;
-		}
-
-		/* Now advance i_loop_target as well */
-		i_loop_target_offset++;
-
-		if (i_loop_target_offset == mpoly_target->totloop) {
-			/* End of loops for target only, that means no match */
-			/* except if all remaining source vertices are mapped to first target */
-			for (; i_loop_source < mpoly_source->totloop; i_loop_source++, mloop_source++) {
-				vert_source = vtargetmap[mloop_source->v];
-				if (vert_source != first_vert_source) {
-					compare_completed = true;
-					same_loops = false;
-					break;
-				}
-			}
-			if (!compare_completed) {
-				same_loops = true;
-			}
-			break;
-		}
-
-		/* Adjust i_loop_target for cycling around and for direct/reverse order defined by delta = +1 or -1 */
-		i_loop_target_adjusted = (i_loop_target_start + direct_reverse * i_loop_target_offset) % mpoly_target->totloop;
-		if (i_loop_target_adjusted < 0) {
-			i_loop_target_adjusted += mpoly_target->totloop;
-		}
-		mloop_target = mloop_array + mpoly_target->loopstart + i_loop_target_adjusted;
-		vert_target = mloop_target->v;
-
-		if (vert_target != vert_source) {
-			same_loops = false;  /* Polys are different */
-			break;
-		}
-	}
-	return same_loops;
-}
-
-/* Utility stuff for using GHash with polys */
-
-typedef struct PolyKey {
-	int poly_index;   /* index of the MPoly within the derived mesh */
-	int totloops;     /* number of loops in the poly */
-	unsign

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list