[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18158] branches/soc-2008-nicholasbishop/ source/blender/blenkernel/intern/cdderivedmesh.c: Fixed a bug caused by counting DM faces rather than faces in the original mesh .

Nicholas Bishop nicholasbishop at gmail.com
Tue Dec 30 01:31:47 CET 2008


Revision: 18158
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18158
Author:   nicholasbishop
Date:     2008-12-30 01:31:45 +0100 (Tue, 30 Dec 2008)

Log Message:
-----------
Fixed a bug caused by counting DM faces rather than faces in the original mesh.

Also removed an unused function.

Modified Paths:
--------------
    branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/cdderivedmesh.c

Modified: branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/cdderivedmesh.c	2008-12-30 00:28:11 UTC (rev 18157)
+++ branches/soc-2008-nicholasbishop/source/blender/blenkernel/intern/cdderivedmesh.c	2008-12-30 00:31:45 UTC (rev 18158)
@@ -1196,32 +1196,6 @@
 	}
 }
 
-/*static void MultiresDM_calc_norm(MultiresDM *mrdm)
-{
-	float (*v)[3] = mrdm->orco;
-	int i;
-
-	mrdm->norm = MEM_callocN(sizeof(float)*3 * mrdm->me->totvert, "MultiresDM vertnorms");
-
-	for(i = 0; i < mrdm->me->totface; ++i) {
-		MFace *f = &mrdm->me->mface[i];
-		float n[3];
-		if(f->v4)
-			CalcNormFloat4(v[f->v1], v[f->v2], v[f->v3], v[f->v4], n);
-		else
-			CalcNormFloat(v[f->v1], v[f->v2], v[f->v3], n);
-		
-		VecAddf(mrdm->norm[f->v1], mrdm->norm[f->v1], n);
-		VecAddf(mrdm->norm[f->v2], mrdm->norm[f->v2], n);
-		VecAddf(mrdm->norm[f->v3], mrdm->norm[f->v3], n);
-		if(f->v4)
-			VecAddf(mrdm->norm[f->v4], mrdm->norm[f->v4], n);
-	}
-
-	for(i = 0; i < mrdm->me->totvert; ++i)
-		Normalize(mrdm->norm[i]);
-}*/
-
 DerivedMesh *MultiresDM_new(MultiresSubsurf *ms, DerivedMesh *orig, int numVerts, int numEdges, int numFaces)
 {
 	MultiresDM *mrdm = MEM_callocN(sizeof(MultiresDM), "MultiresDM");
@@ -1335,16 +1309,15 @@
 int *MultiresDM_get_face_offsets(DerivedMesh *dm)
 {
 	MultiresDM *mrdm = (MultiresDM*)dm;
-	int i, totface, accum = 0;
+	int i, accum = 0;
 
 	if(!mrdm->face_offsets) {
 		int len = (int)pow(2, mrdm->lvl - 2) - 1;
 		int area = len * len;
 		int t = 1 + len * 3 + area * 3, q = t + len + area;
 
-		totface = dm->getNumFaces(dm);
-		mrdm->face_offsets = MEM_callocN(sizeof(int) * totface, "mrdm face offsets");
-		for(i = 0; i < totface; ++i) {
+		mrdm->face_offsets = MEM_callocN(sizeof(int) * mrdm->me->totface, "mrdm face offsets");
+		for(i = 0; i < mrdm->me->totface; ++i) {
 			mrdm->face_offsets[i] = accum;
 
 			accum += (mrdm->me->mface[i].v4 ? q : t);





More information about the Bf-blender-cvs mailing list