[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31352] trunk/blender/source/blender: use more BLI math functions.

Campbell Barton ideasman42 at gmail.com
Sun Aug 15 17:14:09 CEST 2010


Revision: 31352
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31352
Author:   campbellbarton
Date:     2010-08-15 17:14:08 +0200 (Sun, 15 Aug 2010)

Log Message:
-----------
use more BLI math functions.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
    trunk/blender/source/blender/blenkernel/intern/armature.c
    trunk/blender/source/blender/blenkernel/intern/boids.c
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/collision.c
    trunk/blender/source/blender/blenkernel/intern/constraint.c
    trunk/blender/source/blender/blenkernel/intern/effect.c
    trunk/blender/source/blender/blenkernel/intern/implicit.c
    trunk/blender/source/blender/blenkernel/intern/mesh.c
    trunk/blender/source/blender/blenkernel/intern/particle.c
    trunk/blender/source/blender/blenkernel/intern/particle_system.c
    trunk/blender/source/blender/blenkernel/intern/sketch.c
    trunk/blender/source/blender/blenkernel/intern/softbody.c
    trunk/blender/source/blender/blenlib/intern/math_geom.c
    trunk/blender/source/blender/blenlib/intern/math_matrix.c
    trunk/blender/source/blender/blenlib/intern/math_rotation.c
    trunk/blender/source/blender/blenlib/intern/math_vector.c

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2010-08-15 15:04:51 UTC (rev 31351)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2010-08-15 15:14:08 UTC (rev 31352)
@@ -1407,8 +1407,7 @@
 			/* following Mesh convention; we use vertex coordinate itself
 			 * for normal in this case */
 			if (normalize_v3(no)==0.0) {
-				VECCOPY(no, vertexCos[i]);
-				normalize_v3(no);
+				normalize_v3_v3(no, vertexCos[i]);
 			}
 		}
 	}
@@ -2590,9 +2589,7 @@
 		
 		for(j=0; j<len; j++) {
 			vtang= find_vertex_tangent(vtangents[mf_vi[j]], mtface ? tf->uv[j] : uv[j]);
-
-			VECCOPY(tangent[j], vtang);
-			normalize_v3(tangent[j]);
+			normalize_v3_v3(tangent[j], vtang);
 		}
 	}
 	

Modified: trunk/blender/source/blender/blenkernel/intern/armature.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/armature.c	2010-08-15 15:04:51 UTC (rev 31351)
+++ trunk/blender/source/blender/blenkernel/intern/armature.c	2010-08-15 15:14:08 UTC (rev 31352)
@@ -1283,10 +1283,9 @@
 	float	nor[3], axis[3], target[3]={0,1,0};
 	float	theta;
 	float	rMatrix[3][3], bMatrix[3][3];
+
+	normalize_v3_v3(nor, vec);
 	
-	VECCOPY (nor, vec);
-	normalize_v3(nor);
-	
 	/*	Find Axis & Amount for bone matrix*/
 	cross_v3_v3v3(axis,target,nor);
 

Modified: trunk/blender/source/blender/blenkernel/intern/boids.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/boids.c	2010-08-15 15:04:51 UTC (rev 31351)
+++ trunk/blender/source/blender/blenkernel/intern/boids.c	2010-08-15 15:14:08 UTC (rev 31352)
@@ -659,9 +659,9 @@
 		/* attack if in range */
 		if(closest_dist <= bbd->part->boids->range + pa->size + enemy_pa->size) {
 			float damage = BLI_frand();
-			float enemy_dir[3] = {bbd->wanted_co[0],bbd->wanted_co[1],bbd->wanted_co[2]};
+			float enemy_dir[3];
 
-			normalize_v3(enemy_dir);
+			normalize_v3_v3(enemy_dir, bbd->wanted_co);
 
 			/* fight mode */
 			bbd->wanted_speed = 0.0f;
@@ -786,8 +786,7 @@
 		if(hit.index>=0) {
 			t = hit.dist/col.ray_len;
 			interp_v3_v3v3(ground_co, col.co1, col.co2, t);
-			VECCOPY(ground_nor, col.nor);
-			normalize_v3(ground_nor);
+			normalize_v3_v3(ground_nor, col.nor);
 			return col.hit_ob;
 		}
 		else {
@@ -1115,8 +1114,7 @@
 		}
 
 		VECCOPY(old_dir, pa->prev_state.ave);
-		VECCOPY(wanted_dir, bbd->wanted_co);
-		new_speed = normalize_v3(wanted_dir);
+		new_speed = normalize_v3_v3(wanted_dir, bbd->wanted_co);
 
 		/* first check if we have valid direction we want to go towards */
 		if(new_speed == 0.0f) {
@@ -1356,8 +1354,7 @@
 	/* save direction to state.ave unless the boid is falling */
 	/* (boids can't effect their direction when falling) */
 	if(bpa->data.mode!=eBoidMode_Falling && len_v3(pa->state.vel) > 0.1*pa->size) {
-		VECCOPY(pa->state.ave, pa->state.vel);
-		normalize_v3(pa->state.ave);
+		normalize_v3_v3(pa->state.ave, pa->state.vel);
 	}
 
 	/* apply damping */

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2010-08-15 15:04:51 UTC (rev 31351)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2010-08-15 15:14:08 UTC (rev 31352)
@@ -1777,14 +1777,10 @@
 	for(i = 0; i < numVerts; i++, mv++) {
 		float *no = temp_nors[i];
 		
-		if (normalize_v3(no) == 0.0) {
-			VECCOPY(no, mv->co);
-			normalize_v3(no);
-		}
+		if (normalize_v3(no) == 0.0)
+			normalize_v3_v3(no, mv->co);
 
-		mv->no[0] = (short)(no[0] * 32767.0);
-		mv->no[1] = (short)(no[1] * 32767.0);
-		mv->no[2] = (short)(no[2] * 32767.0);
+		normal_float_to_short_v3(mv->no, no);
 	}
 	
 	MEM_freeN(temp_nors);

Modified: trunk/blender/source/blender/blenkernel/intern/collision.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/collision.c	2010-08-15 15:04:51 UTC (rev 31351)
+++ trunk/blender/source/blender/blenkernel/intern/collision.c	2010-08-15 15:14:08 UTC (rev 31352)
@@ -691,8 +691,7 @@
 
 		if ( distance <= ( epsilon1 + epsilon2 + ALMOST_ZERO ) )
 		{
-			VECCOPY ( collpair->normal, collpair->vector );
-			normalize_v3( collpair->normal );
+			normalize_v3_v3( collpair->normal, collpair->vector );
 
 			collpair->distance = distance;
 			collpair->flag = 0;

Modified: trunk/blender/source/blender/blenkernel/intern/constraint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/constraint.c	2010-08-15 15:04:51 UTC (rev 31351)
+++ trunk/blender/source/blender/blenkernel/intern/constraint.c	2010-08-15 15:14:08 UTC (rev 31352)
@@ -256,7 +256,7 @@
 								
 							/* construct offs_bone the same way it is done in armature.c */
 							copy_m4_m3(offs_bone, pchan->bone->bone_mat);
-							VECCOPY(offs_bone[3], pchan->bone->head);
+							copy_v3_v3(offs_bone[3], pchan->bone->head);
 							offs_bone[3][1]+= pchan->bone->parent->length;
 							
 							if (pchan->bone->flag & BONE_HINGE) {
@@ -267,7 +267,7 @@
 								copy_m4_m4(tmat, pchan->bone->parent->arm_mat);
 								
 								/* the location of actual parent transform */
-								VECCOPY(tmat[3], offs_bone[3]);
+								copy_v3_v3(tmat[3], offs_bone[3]);
 								offs_bone[3][0]= offs_bone[3][1]= offs_bone[3][2]= 0.0f;
 								mul_m4_v3(pchan->parent->pose_mat, tmat[3]);
 								
@@ -309,7 +309,7 @@
 						
 						/* construct offs_bone the same way it is done in armature.c */
 						copy_m4_m3(offs_bone, pchan->bone->bone_mat);
-						VECCOPY(offs_bone[3], pchan->bone->head);
+						copy_v3_v3(offs_bone[3], pchan->bone->head);
 						offs_bone[3][1]+= pchan->bone->parent->length;
 						
 						if (pchan->bone->flag & BONE_HINGE) {
@@ -320,8 +320,8 @@
 							copy_m4_m4(tmat, pchan->bone->parent->arm_mat);
 							
 							/* the location of actual parent transform */
-							VECCOPY(tmat[3], offs_bone[3]);
-							offs_bone[3][0]= offs_bone[3][1]= offs_bone[3][2]= 0.0f;
+							copy_v3_v3(tmat[3], offs_bone[3]);
+							zero_v3(offs_bone[3]);
 							mul_m4_v3(pchan->parent->pose_mat, tmat[3]);
 							
 							mul_m4_m4m4(diff_mat, offs_bone, tmat);
@@ -400,7 +400,7 @@
 	DerivedMesh *dm = NULL;
 	Mesh *me= ob->data;
 	EditMesh *em = BKE_mesh_get_editmesh(me);
-	float vec[3] = {0.0f, 0.0f, 0.0f}, tvec[3];
+	float vec[3] = {0.0f, 0.0f, 0.0f};
 	float normal[3] = {0.0f, 0.0f, 0.0f}, plane[3];
 	float imat[3][3], tmat[3][3];
 	int dgroup;
@@ -477,9 +477,9 @@
 			mul_m3_v3(tmat, normal);
 			
 			normalize_v3(normal);
-			VECCOPY(plane, tmat[1]);
+			copy_v3_v3(plane, tmat[1]);
 			
-			VECCOPY(tmat[2], normal);
+			copy_v3_v3(tmat[2], normal);
 			cross_v3_v3v3(tmat[0], normal, plane);
 			cross_v3_v3v3(tmat[1], tmat[2], tmat[0]);
 			
@@ -488,8 +488,7 @@
 			
 			
 			/* apply the average coordinate as the new location */
-			mul_v3_m4v3(tvec, ob->obmat, vec);
-			VECCOPY(mat[3], tvec);
+			mul_v3_m4v3(mat[3], ob->obmat, vec);
 		}
 	}
 	
@@ -554,7 +553,7 @@
 	mul_v3_m4v3(tvec, ob->obmat, vec);
 	
 	/* copy new location to matrix */
-	VECCOPY(mat[3], tvec);
+	copy_v3_v3(mat[3], tvec);
 }
 
 /* generic function to get the appropriate matrix for most target cases */
@@ -819,11 +818,11 @@
 		copy_m4_m4(invmat, data->invmat);
 		
 		/* extract components of both matrices */
-		VECCOPY(loc, ct->matrix[3]);
+		copy_v3_v3(loc, ct->matrix[3]);
 		mat4_to_eulO(eul, ct->rotOrder, ct->matrix);
 		mat4_to_size(size, ct->matrix);
 		
-		VECCOPY(loco, invmat[3]);
+		copy_v3_v3(loco, invmat[3]);
 		mat4_to_eulO(eulo, cob->rotOrder, invmat);
 		mat4_to_size(sizo, invmat);
 		
@@ -940,9 +939,8 @@
 	float right[3];
 	float neg = -1;
 	int right_index;
-	
-	copy_v3_v3(n, vec);
-	if (normalize_v3(n) == 0.0) { 
+
+	if (normalize_v3_v3(n, vec) == 0.0) { 
 		n[0] = 0.0;
 		n[1] = 0.0;
 		n[2] = 1.0;
@@ -953,9 +951,7 @@
 	/* n specifies the transformation of the track axis */
 	if (flags & TARGET_Z_UP) { 
 		/* target Z axis is the global up axis */
-		u[0] = target_up[0];
-		u[1] = target_up[1];
-		u[2] = target_up[2];
+		copy_v3_v3(u, target_up);
 	}
 	else { 
 		/* world Z axis is the global up axis */
@@ -988,20 +984,13 @@
 		m[right_index][1] = neg * right[1];
 		m[right_index][2] = neg * right[2];
 		
-		m[upflag][0] = proj[0];
-		m[upflag][1] = proj[1];
-		m[upflag][2] = proj[2];
+		copy_v3_v3(m[upflag], proj);
 		
-		m[axis][0] = n[0];
-		m[axis][1] = n[1];
-		m[axis][2] = n[2];
+		copy_v3_v3(m[axis], n);
 	}
 	/* identity matrix - don't do anything if the two axes are the same */
 	else {
-		m[0][0]= m[1][1]= m[2][2]= 1.0;
-		m[0][1]= m[0][2]= 0.0;
-		m[1][0]= m[1][2]= 0.0;
-		m[2][0]= m[2][1]= 0.0;
+		unit_m3(m);
 	}
 }
 
@@ -1264,7 +1253,7 @@
 					copy_m4_m4(totmat, rmat);
 				}
 				
-				VECCOPY(totmat[3], vec);
+				copy_v3_v3(totmat[3], vec);
 				
 				mul_serie_m4(ct->matrix, ct->tar->obmat, totmat, NULL, NULL, NULL, NULL, NULL, NULL);
 			}
@@ -1383,7 +1372,7 @@
 	float eul[3];
 	float size[3];
 	
-	VECCOPY(loc, cob->matrix[3]);
+	copy_v3_v3(loc, cob->matrix[3]);
 	mat4_to_size(size, cob->matrix);
 	
 	mat4_to_eulO(eul, cob->rotOrder, cob->matrix);
@@ -1544,7 +1533,7 @@
 		float offset[3] = {0.0f, 0.0f, 0.0f};
 		
 		if (data->flag & LOCLIKE_OFFSET)
-			VECCOPY(offset, cob->matrix[3]);
+			copy_v3_v3(offset, cob->matrix[3]);
 			
 		if (data->flag & LOCLIKE_X) {
 			cob->matrix[3][0] = ct->matrix[3][0];
@@ -1636,7 +1625,7 @@
 		float	eul[3], obeul[3];
 		float	size[3];
 		
-		VECCOPY(loc, cob->matrix[3]);
+		copy_v3_v3(loc, cob->matrix[3]);
 		mat4_to_size(size, cob->matrix);
 		
 		/* to allow compatible rotations, must get both rotations in the order of the owner... */
@@ -2138,7 +2127,7 @@
 		}
 		else {
 			/* extract location */
-			VECCOPY(vec, tempmat[3]);
+			copy_v3_v3(vec, tempmat[3]);
 			axis= data->type - 20;
 		}
 		
@@ -2294,10 +2283,7 @@
 					normalize_v3(totmat[1]);
 					
 					/* the x axis is fixed */
-					totmat[0][0] = cob->matrix[0][0];
-					totmat[0][1] = cob->matrix[0][1];
-					totmat[0][2] = cob->matrix[0][2];
-					normalize_v3(totmat[0]);
+					normalize_v3_v3(totmat[0], cob->matrix[0]);
 					
 					/* the z axis gets mapped onto a third orthogonal vector */
 					cross_v3_v3v3(totmat[2], totmat[0], totmat[1]);
@@ -2311,10 +2297,7 @@
 					normalize_v3(totmat[2]);
 					

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list