[Bf-blender-cvs] [bba9742] master: Subsurf: minor optimization setting edge origindex

Campbell Barton noreply at git.blender.org
Wed Apr 23 21:21:43 CEST 2014


Commit: bba974241b3972f4399c79062f145fe693f42607
Author: Campbell Barton
Date:   Thu Apr 24 05:14:35 2014 +1000
https://developer.blender.org/rBbba974241b3972f4399c79062f145fe693f42607

Subsurf: minor optimization setting edge origindex

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

M	source/blender/blenkernel/intern/subsurf_ccg.c

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

diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index 1441137..482633c 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -3388,7 +3388,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
 	int index, totvert, totedge, totface;
 	int i;
 	int vertNum, edgeNum, faceNum;
-	int *vertOrigIndex, *faceOrigIndex, *polyOrigIndex, *base_polyOrigIndex; /* *edgeOrigIndex - as yet, unused  */
+	int *vertOrigIndex, *faceOrigIndex, *polyOrigIndex, *base_polyOrigIndex, *edgeOrigIndex;
 	short *edgeFlags;
 	DMFlagMat *faceFlags;
 	int *polyidx = NULL;
@@ -3398,7 +3398,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
 	BLI_array_declare(vertidx);
 #endif
 	int loopindex, loopindex2;
-	int edgeSize, has_edge_origindex;
+	int edgeSize;
 	int gridSize;
 	int gridFaces, gridCuts;
 	/*int gridSideVerts;*/
@@ -3566,7 +3566,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
 	faceFlags = ccgdm->faceFlags = MEM_callocN(sizeof(DMFlagMat) * totface, "faceFlags");
 
 	vertOrigIndex = DM_get_vert_data_layer(&ccgdm->dm, CD_ORIGINDEX);
-	/*edgeOrigIndex = DM_get_edge_data_layer(&ccgdm->dm, CD_ORIGINDEX);*/
+	edgeOrigIndex = DM_get_edge_data_layer(&ccgdm->dm, CD_ORIGINDEX);
 
 	faceOrigIndex = DM_get_tessface_data_layer(&ccgdm->dm, CD_ORIGINDEX);
 	polyOrigIndex = DM_get_poly_data_layer(&ccgdm->dm, CD_ORIGINDEX);
@@ -3579,9 +3579,6 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
 	mcol = DM_get_tessface_data_layer(&ccgdm->dm, CD_MCOL);
 #endif
 
-	has_edge_origindex = CustomData_has_layer(&ccgdm->dm.edgeData, CD_ORIGINDEX);
-
-
 	loopindex = loopindex2 = 0; /* current loop index */
 	for (index = 0; index < totface; index++) {
 		CCGFace *f = ccgdm->faceMap[index].face;
@@ -3671,10 +3668,10 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
 			}
 		}
 
-		if (has_edge_origindex) {
-			for (i = 0; i < numFinalEdges; ++i)
-				*(int *)DM_get_edge_data(&ccgdm->dm, edgeNum + i,
-				                         CD_ORIGINDEX) = ORIGINDEX_NONE;
+		if (edgeOrigIndex) {
+			for (i = 0; i < numFinalEdges; ++i) {
+				edgeOrigIndex[edgeNum + i] = ORIGINDEX_NONE;
+			}
 		}
 
 		for (s = 0; s < numVerts; s++) {
@@ -3768,9 +3765,9 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
 			vertNum++;
 		}
 
-		for (i = 0; i < numFinalEdges; ++i) {
-			if (has_edge_origindex) {
-				*(int *)DM_get_edge_data(&ccgdm->dm, edgeNum + i, CD_ORIGINDEX) = mapIndex;
+		if (edgeOrigIndex) {
+			for (i = 0; i < numFinalEdges; ++i) {
+				edgeOrigIndex[edgeNum + i] = mapIndex;
 			}
 		}




More information about the Bf-blender-cvs mailing list