Revision: 48998
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48998
Author:   campbellbarton
Date:     2012-07-17 12:05:15 +0000 (Tue, 17 Jul 2012)
Log Message:
-----------
use math vector init functions

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/particle_system.c
    trunk/blender/source/blender/blenkernel/intern/pointcache.c
    trunk/blender/source/blender/modifiers/intern/MOD_particleinstance.c

Modified: trunk/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle_system.c    
2012-07-17 11:10:40 UTC (rev 48997)
+++ trunk/blender/source/blender/blenkernel/intern/particle_system.c    
2012-07-17 12:05:15 UTC (rev 48998)
@@ -2441,7 +2441,8 @@
        int i;
        float flow[3], offset[3], dist;
 
-       flow[0] = flow[1] = flow[2] = 0.0f;
+       zero_v3(flow);
+
        dist = 0.0f;
        if (pfr->tot_neighbors > 0) {
                pa = pfr->pa;
@@ -2733,9 +2734,8 @@
 {
        float rotfac, rot1[4], rot2[4]={1.0,0.0,0.0,0.0}, dtime=dfra*timestep, 
extrotfac;
 
-       if ((part->flag & PART_ROTATIONS)==0) {
-               pa->state.rot[0]=1.0f;
-               pa->state.rot[1]=pa->state.rot[2]=pa->state.rot[3]=0;
+       if ((part->flag & PART_ROTATIONS) == 0) {
+               unit_qt(pa->state.rot);
                return;
        }
 
@@ -2747,8 +2747,9 @@
                float len2 = len_v3(pa->state.vel);
                float vec[3];
 
-               if (len1==0.0f || len2==0.0f)
-                       pa->state.ave[0] = pa->state.ave[1] = pa->state.ave[2] 
= 0.0f;
+               if (len1 == 0.0f || len2 == 0.0f) {
+                       zero_v3(pa->state.ave);
+               }
                else {
                        cross_v3_v3v3(pa->state.ave, pa->prev_state.vel, 
pa->state.vel);
                        normalize_v3(pa->state.ave);
@@ -2761,9 +2762,8 @@
        }
 
        rotfac = len_v3(pa->state.ave);
-       if (rotfac == 0.0f || (part->flag & PART_ROT_DYN)==0 || extrotfac == 
0.0f) { /* unit_qt(in VecRotToQuat) doesn't give unit quat [1,0,0,0]?? */
-               rot1[0]=1.0f;
-               rot1[1]=rot1[2]=rot1[3]=0;
+       if (rotfac == 0.0f || (part->flag & PART_ROT_DYN)==0 || extrotfac == 
0.0f) {
+               unit_qt(rot1);
        }
        else {
                axis_angle_to_quat(rot1,pa->state.ave,rotfac*dtime);
@@ -3750,8 +3750,10 @@
                pa->totkey++;
 
                /* root is always in the origin of hair space so we set it to 
be so after the last key is saved*/
-               if (pa->totkey == psys->part->hair_step + 1)
-                       root->co[0] = root->co[1] = root->co[2] = 0.0f;
+               if (pa->totkey == psys->part->hair_step + 1) {
+                       zero_v3(root->co);
+               }
+
        }
 }
 
@@ -4130,9 +4132,8 @@
                                                pa->state.vel[j] = wrf;
                                        }
        
-                                       pa->state.ave[0] = pa->state.ave[1] = 
pa->state.ave[2] = 0.0f;
-                                       pa->state.rot[0] = 1.0;
-                                       pa->state.rot[1] = pa->state.rot[2] = 
pa->state.rot[3] = 0.0;
+                                       zero_v3(pa->state.ave);
+                                       unit_qt(pa->state.rot);
        
                                        pa->time = 1.f;
                                        pa->dietime = sim->scene->r.efra + 1;

Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c 2012-07-17 
11:10:40 UTC (rev 48997)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c 2012-07-17 
12:05:15 UTC (rev 48998)
@@ -326,8 +326,7 @@
 
        /* default to no rotation */
        if (data[BPHYS_DATA_LOCATION] && !data[BPHYS_DATA_ROTATION]) {
-               pa->state.rot[0]=1.0f;
-               pa->state.rot[1]=pa->state.rot[2]=pa->state.rot[3]=0;
+               unit_qt(pa->state.rot);
        }
 }
 static void ptcache_particle_interpolate(int index, void *psys_v, void **data, 
float cfra, float cfra1, float cfra2, float *old_data)

Modified: trunk/blender/source/blender/modifiers/intern/MOD_particleinstance.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_particleinstance.c        
2012-07-17 11:10:40 UTC (rev 48997)
+++ trunk/blender/source/blender/modifiers/intern/MOD_particleinstance.c        
2012-07-17 12:05:15 UTC (rev 48998)
@@ -238,8 +238,7 @@
 
                        /* TODO: incremental rotations somehow */
                        if (state.vel[axis] < -0.9999f || state.vel[axis] > 
0.9999f) {
-                               state.rot[0] = 1;
-                               state.rot[1] = state.rot[2] = state.rot[3] = 
0.0f;
+                               unit_qt(state.rot);
                        }
                        else {
                                float temp[3] = {0.0f, 0.0f, 0.0f};
@@ -250,7 +249,6 @@
                                /* state.vel[axis] is the only component 
surviving from a dot product with the axis */
                                axis_angle_to_quat(state.rot, cross, 
saacos(state.vel[axis]));
                        }
-
                }
                else {
                        state.time = -1.0;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to