[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14332] trunk/blender/source/blender: No need for unions in transform code.

Martin Poirier theeth at yahoo.com
Sat Apr 5 00:21:26 CEST 2008


Revision: 14332
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14332
Author:   theeth
Date:     2008-04-05 00:21:24 +0200 (Sat, 05 Apr 2008)

Log Message:
-----------
No need for unions in transform code.

Unneeded size optimisation.

There's much better way to tackle this if it really is a problem.

Modified Paths:
--------------
    trunk/blender/source/blender/include/transform.h
    trunk/blender/source/blender/src/transform_conversions.c
    trunk/blender/source/blender/src/transform_generics.c

Modified: trunk/blender/source/blender/include/transform.h
===================================================================
--- trunk/blender/source/blender/include/transform.h	2008-04-04 20:39:31 UTC (rev 14331)
+++ trunk/blender/source/blender/include/transform.h	2008-04-04 22:21:24 UTC (rev 14332)
@@ -160,11 +160,8 @@
 	struct bConstraint *con;	/* for objects/bones, the first constraint in its constraint stack */
 	TransDataExtension *ext;	/* for objects, poses. 1 single malloc per TransInfo! */
 	TransDataIpokey *tdi;		/* for objects, ipo keys. per transdata a malloc */
-	union {
-		void *tdmir;		 /* mirrored element pointer, in editmode mesh to EditVert */
-		TransDataCurveHandleFlags *hdata;
-	} misc;
-	
+	TransDataCurveHandleFlags *hdata; /* for curves, stores handle flags for modification/cancel */
+	void *tdmir;		 /* mirrored element pointer, in editmode mesh to EditVert */
     short  flag;         /* Various flags */
 	short  protectflag;	 /* If set, copy of Object or PoseChannel protection */
 /*#ifdef WITH_VERSE*/

Modified: trunk/blender/source/blender/src/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/src/transform_conversions.c	2008-04-04 20:39:31 UTC (rev 14331)
+++ trunk/blender/source/blender/src/transform_conversions.c	2008-04-04 22:21:24 UTC (rev 14332)
@@ -1239,7 +1239,7 @@
 TransDataCurveHandleFlags *initTransDataCurveHandes(TransData *td, struct BezTriple *bezt) {
 	TransDataCurveHandleFlags *hdata;
 	td->flag |= TD_BEZTRIPLE;
-	hdata = td->misc.hdata = MEM_mallocN(sizeof(TransDataCurveHandleFlags), "CuHandle Data");
+	hdata = td->hdata = MEM_mallocN(sizeof(TransDataCurveHandleFlags), "CuHandle Data");
 	hdata->ih1 = bezt->h1;
 	hdata->h1 = &bezt->h1;
 	hdata->ih2 = bezt->h2; /* incase the second is not selected */
@@ -1816,7 +1816,7 @@
 	td->ext = NULL;
 	td->tdi = NULL;
 	td->val = NULL;
-	td->misc.tdmir= NULL;
+	td->tdmir = NULL;
 	if (BIF_GetTransInfo()->mode == TFM_BWEIGHT) {
 		td->val = &(eve->bweight);
 		td->ival = eve->bweight;
@@ -2169,7 +2169,7 @@
 				/* Mirror? */
 				if( (mirror>0 && tob->iloc[0]>0.0f) || (mirror<0 && tob->iloc[0]<0.0f)) {
 					EditVert *vmir= editmesh_get_x_mirror_vert(G.obedit, tob->iloc);	/* initializes octree on first call */
-					if(vmir!=eve) tob->misc.tdmir= vmir;
+					if(vmir != eve) tob->tdmir = vmir;
 				}
 				tob++;
 			}

Modified: trunk/blender/source/blender/src/transform_generics.c
===================================================================
--- trunk/blender/source/blender/src/transform_generics.c	2008-04-04 20:39:31 UTC (rev 14331)
+++ trunk/blender/source/blender/src/transform_generics.c	2008-04-04 22:21:24 UTC (rev 14332)
@@ -255,7 +255,7 @@
 		if (td->flag & TD_SKIP)
 			continue;
 		
-		eve= td->misc.tdmir;
+		eve = td->tdmir;
 		if(eve) {
 			eve->co[0]= -td->loc[0];
 			eve->co[1]= td->loc[1];
@@ -721,7 +721,7 @@
 		/* since ipokeys are optional on objects, we mallocced them per trans-data */
 		for(a=0, td= t->data; a<t->total; a++, td++) {
 			if(td->tdi) MEM_freeN(td->tdi);
-			if (td->flag & TD_BEZTRIPLE) MEM_freeN(td->misc.hdata); 
+			if (td->flag & TD_BEZTRIPLE) MEM_freeN(td->hdata); 
 		}
 		MEM_freeN(t->data);
 	}
@@ -787,8 +787,8 @@
 	}
 	
 	if (td->flag & TD_BEZTRIPLE) {
-		*(td->misc.hdata->h1) = td->misc.hdata->ih1;
-		*(td->misc.hdata->h2) = td->misc.hdata->ih2;
+		*(td->hdata->h1) = td->hdata->ih1;
+		*(td->hdata->h2) = td->hdata->ih2;
 	}
 	
 	if(td->tdi) {





More information about the Bf-blender-cvs mailing list