[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60973] branches/soc-2013-sketch_mesh/ source/blender/modifiers/intern/MOD_laplaciandeform.c: Style cleanup: Coding Style.

Alexander Pinzon apinzonf at gmail.com
Mon Oct 28 22:22:42 CET 2013


Revision: 60973
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60973
Author:   apinzonf
Date:     2013-10-28 21:22:41 +0000 (Mon, 28 Oct 2013)
Log Message:
-----------
Style cleanup: Coding Style.

Modified Paths:
--------------
    branches/soc-2013-sketch_mesh/source/blender/modifiers/intern/MOD_laplaciandeform.c

Modified: branches/soc-2013-sketch_mesh/source/blender/modifiers/intern/MOD_laplaciandeform.c
===================================================================
--- branches/soc-2013-sketch_mesh/source/blender/modifiers/intern/MOD_laplaciandeform.c	2013-10-28 19:43:53 UTC (rev 60972)
+++ branches/soc-2013-sketch_mesh/source/blender/modifiers/intern/MOD_laplaciandeform.c	2013-10-28 21:22:41 UTC (rev 60973)
@@ -103,43 +103,33 @@
 	sys->total_anchors = totalAnchors;
 	sys->repeat = iterations;
 	BLI_strncpy(sys->anchor_grp_name, defgrpName, sizeof(sys->anchor_grp_name));
-	sys->co = (float (*)[3]) MEM_callocN(sizeof(float) * (totalVerts * 3), "DeformCoordinates");
-	sys->no = (float (*)[3]) MEM_callocN(sizeof(float) * (totalVerts * 3), "DeformNormals");
-	sys->delta = (float (*)[3]) MEM_callocN(sizeof(float) * totalVerts * 3, "DeformDeltas");
+	sys->co = (float (*)[3]) MEM_callocN(sizeof(float[3]) * totalVerts, "DeformCoordinates");
+	sys->no = (float (*)[3]) MEM_callocN(sizeof(float[3]) * totalVerts, "DeformNormals");
+	sys->delta = (float (*)[3]) MEM_callocN(sizeof(float[3]) * totalVerts, "DeformDeltas");
 	sys->index_anchors = (int *) MEM_callocN(sizeof(int) * (totalAnchors), "DeformAnchors");
 	sys->unit_verts = (int *) MEM_callocN(sizeof(int) * totalVerts, "DeformUnitVerts");
 	sys->verts = (BMVert**) MEM_callocN(sizeof(BMVert*) * (totalVerts), "DeformVerts");
-	memset(sys->no, 0.0, sizeof(float) * totalVerts * 3);
-	memset(sys->delta, 0.0, sizeof(float) * totalVerts * 3);
 	return sys;
 }
 
-static void deleteVoidPointer(void *data)
-{
-	if (data) {
-		MEM_freeN(data);
-		data = NULL;
-	}
-}
-
 static void deleteLaplacianSystem(LaplacianSystem *sys)
 {
 	if (!sys) {
 		return;
 	}
-	deleteVoidPointer(sys->co);
-	deleteVoidPointer(sys->no);
-	deleteVoidPointer(sys->delta);
-	deleteVoidPointer(sys->index_anchors);
-	deleteVoidPointer(sys->unit_verts);
-	deleteVoidPointer(sys->verts);
+	MEM_SAFE_FREE(sys->co);
+	MEM_SAFE_FREE(sys->no);
+	MEM_SAFE_FREE(sys->delta);
+	MEM_SAFE_FREE(sys->index_anchors);
+	MEM_SAFE_FREE(sys->unit_verts);
+	MEM_SAFE_FREE(sys->verts);
 	if (sys->bm) {
 		BM_mesh_free(sys->bm);
 	}
 	if (sys->context) {
 		nlDeleteContext(sys->context);
 	}
-	deleteVoidPointer(sys);
+	MEM_SAFE_FREE(sys);
 }
 static float cotan_weight(float *v1, float *v2, float *v3)
 {
@@ -318,11 +308,9 @@
 				sys->unit_verts[i] = vidn[j];
 			}
 		}
-		
-		BLI_array_free(vidn);
 		BLI_array_empty(vidn);
-		vidn = NULL;
 	}
+	BLI_array_free(vidn);
 }
 
 static void rotateDifferentialCoordinates(LaplacianSystem *sys)
@@ -337,8 +325,7 @@
 	int i, j, vin[4], lvin, num_fni, k;
 
 
-	BM_ITER_MESH (v, &viter, sys->bm, BM_VERTS_OF_MESH) {
-		i = BM_elem_index_get(v);
+	BM_ITER_MESH_INDEX (v, &viter, sys->bm, BM_VERTS_OF_MESH, i) {
 		copy_v3_v3(pi, sys->co[i]); 
 		copy_v3_v3(ni, sys->no[i]); 
 		k = sys->unit_verts[i];
@@ -591,32 +578,26 @@
 		dv = dvert;
 		bm = DM_to_bmesh(dm, false);
 		for (i = 0; i < numVerts; i++) {
-			if (dv) {
-				wpaint = defvert_find_weight(dv, defgrp_index);
-				dv++;
-				if (wpaint > 0.0f) {
-					BLI_array_append(index_anchors, i);
-				}
+			wpaint = defvert_find_weight(dv, defgrp_index);
+			dv++;
+			if (wpaint > 0.0f) {
+				BLI_array_append(index_anchors, i);
 			}
 		}
 		total_anchors = BLI_array_count(index_anchors);
 		smd->cacheSystem = initLaplacianSystem(numVerts, bm->totedge, total_anchors, smd->anchor_grp_name, smd->repeat);
 		sys = (LaplacianSystem *)smd->cacheSystem;
 		sys->bm = bm;
-		for (i = 0; i < total_anchors; i++) {
-			sys->index_anchors[i] = index_anchors[i];
-		}
-		for (i=0; i<numVerts; i++) {
-			copy_v3_v3(sys->co[i], vertexCos[i]);
-		}
+		memcpy(sys->index_anchors, index_anchors, sizeof(int) * total_anchors);
+		memcpy(sys->co, vertexCos, sizeof(float[3]) * numVerts);
 
 		BM_ITER_MESH (v, &viter, bm, BM_VERTS_OF_MESH) {
 			vertID = BM_elem_index_get(v);
 			sys->verts[vertID] = v;
 		}
 		BLI_array_free(index_anchors);
-		smd->vertexco = (float *) MEM_callocN(sizeof(float) * (numVerts * 3), "ModDeformCoordinates");
-		memcpy(smd->vertexco, vertexCos, sizeof(float) * numVerts * 3);
+		smd->vertexco = (float *) MEM_mallocN(sizeof(float[3]) * numVerts, "ModDeformCoordinates");
+		memcpy(smd->vertexco, vertexCos, sizeof(float[3]) * numVerts);
 		smd->total_verts = numVerts;
 	}
 }
@@ -625,13 +606,11 @@
 {
 	int i;
 	int defgrp_index;
-	int total_anchors;
-	int *index_anchors = NULL;
+	int total_anchors = 0;
 	float wpaint;
 	MDeformVert *dvert = NULL;
 	MDeformVert *dv = NULL;
 	LaplacianSystem * sys = (LaplacianSystem *)smd->cacheSystem;
-	BLI_array_declare(index_anchors);
 
 	if (sys->total_verts != numVerts) {
 		return true;
@@ -639,7 +618,7 @@
 	if (sys->total_edges != dm->getNumEdges(dm)) {
 		return true;
 	}
-	if(BLI_strcasecmp(smd->anchor_grp_name, sys->anchor_grp_name) != 0) {
+	if(strcmp(smd->anchor_grp_name, sys->anchor_grp_name) != 0) {
 		return true; 
 	}
 	modifier_get_vgroup(ob, dm, smd->anchor_grp_name, &dvert, &defgrp_index);
@@ -648,16 +627,13 @@
 	}
 	dv = dvert;
 	for (i = 0; i < numVerts; i++) {
-		if (dv) {
-			wpaint = defvert_find_weight(dv, defgrp_index);
-			dv++;
-			if (wpaint > 0.0f) {
-				BLI_array_append(index_anchors, i);
-			}
+		wpaint = defvert_find_weight(dv, defgrp_index);
+		dv++;
+		if (wpaint > 0.0f) {
+			total_anchors++;
 		}
 	}
-	total_anchors = BLI_array_count(index_anchors);
-	BLI_array_free(index_anchors);
+	
 	if(sys->total_anchors != total_anchors) {
 		return true;
 	}
@@ -669,13 +645,11 @@
 {
 	int i;
 	int defgrp_index;
-	int total_anchors;
-	int *index_anchors = NULL;
+	int total_anchors = 0;
 	float wpaint;
 	MDeformVert *dvert = NULL;
 	MDeformVert *dv = NULL;
 	LaplacianSystem * sys = (LaplacianSystem *)smd->cacheSystem;
-	BLI_array_declare(index_anchors);
 
 	if (sys->total_verts != numVerts) {
 		return false;
@@ -683,7 +657,7 @@
 	if (sys->total_edges != dm->getNumEdges(dm)) {
 		return false;
 	}
-	if(BLI_strcasecmp(smd->anchor_grp_name, sys->anchor_grp_name) != 0) {
+	if(strcmp(smd->anchor_grp_name, sys->anchor_grp_name) != 0) {
 		return false; 
 	}
 	modifier_get_vgroup(ob, dm, smd->anchor_grp_name, &dvert, &defgrp_index);
@@ -692,16 +666,12 @@
 	}
 	dv = dvert;
 	for (i = 0; i < numVerts; i++) {
-		if (dv) {
-			wpaint = defvert_find_weight(dv, defgrp_index);
-			dv++;
-			if (wpaint > 0.0f) {
-				BLI_array_append(index_anchors, i);
-			}
+		wpaint = defvert_find_weight(dv, defgrp_index);
+		dv++;
+		if (wpaint > 0.0f) {
+			total_anchors++;
 		}
 	}
-	total_anchors = BLI_array_count(index_anchors);
-	BLI_array_free(index_anchors);
 	if(sys->total_anchors != total_anchors) {
 		return true;
 	}
@@ -709,7 +679,7 @@
 	return false;
 }
 
-static bool onlyChangeGroup(LaplacianDeformModifierData *smd, Object *ob, DerivedMesh *dm, int numVerts)
+static bool onlyChangeGroup(LaplacianDeformModifierData *smd, DerivedMesh *dm, int numVerts)
 {
 	LaplacianSystem *sys = (LaplacianSystem *)smd->cacheSystem;
 	if (sys->total_verts != numVerts) {
@@ -718,7 +688,7 @@
 	if (sys->total_edges != dm->getNumEdges(dm)) {
 		return false;
 	}
-	if(BLI_strcasecmp(smd->anchor_grp_name, sys->anchor_grp_name) != 0) {
+	if(strcmp(smd->anchor_grp_name, sys->anchor_grp_name) != 0) {
 		return true; 
 	}	
 	return false;
@@ -753,14 +723,14 @@
 	
 	if (smd->cacheSystem) {
 		if (isSystemDifferent(smd, ob, dm,numVerts)) {
-			if (onlyChangeAnchors(smd, ob, dm,numVerts) || onlyChangeGroup(smd, ob, dm,numVerts)) {
-				filevertexCos = (float (*)[3]) MEM_callocN(sizeof(float) * (numVerts * 3), "TempModDeformCoordinates");
-				memcpy(filevertexCos, smd->vertexco, sizeof(float)*numVerts*3);
-				deleteVoidPointer(smd->vertexco);
+			if (onlyChangeAnchors(smd, ob, dm,numVerts) || onlyChangeGroup(smd, dm,numVerts)) {
+				filevertexCos = (float (*)[3]) MEM_mallocN(sizeof(float[3]) * numVerts, "TempModDeformCoordinates");
+				memcpy(filevertexCos, smd->vertexco, sizeof(float[3]) * numVerts);
+				MEM_SAFE_FREE(smd->vertexco);
 				smd->total_verts = 0;
 				deleteLaplacianSystem((LaplacianSystem *) smd->cacheSystem);
 				initSystem(smd, ob, dm, filevertexCos, numVerts);
-				deleteVoidPointer(filevertexCos);
+				MEM_SAFE_FREE(filevertexCos);
 				laplacianDeformPreview((LaplacianSystem *) smd->cacheSystem, vertexCos);
 			}
 			else {
@@ -781,12 +751,12 @@
 	else {
 		if (smd->total_verts > 0 && smd->total_verts == numVerts) {
 			if (isValidVertexGroup(smd, ob, dm)) {
-				filevertexCos = (float (*)[3]) MEM_callocN(sizeof(float) * (numVerts * 3), "TempDeformCoordinates");
-				memcpy(filevertexCos, smd->vertexco, sizeof(float) * numVerts * 3);
-				deleteVoidPointer(smd->vertexco);
+				filevertexCos = (float (*)[3]) MEM_mallocN(sizeof(float[3]) * numVerts, "TempDeformCoordinates");
+				memcpy(filevertexCos, smd->vertexco, sizeof(float[3]) * numVerts );
+				MEM_SAFE_FREE(smd->vertexco);
 				smd->total_verts = 0;
 				initSystem(smd, ob, dm, filevertexCos, numVerts);
-				deleteVoidPointer(filevertexCos);
+				MEM_SAFE_FREE(filevertexCos);
 				laplacianDeformPreview((LaplacianSystem *) smd->cacheSystem, vertexCos);
 				
 			}
@@ -873,7 +843,7 @@
 		deleteLaplacianSystem(sys);
 	}
 	if (smd->vertexco) {
-		deleteVoidPointer(smd->vertexco);
+		MEM_SAFE_FREE(smd->vertexco);
 	}
 	smd->total_verts = 0;
 }




More information about the Bf-blender-cvs mailing list