Revision: 42517
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42517
Author:   campbellbarton
Date:     2011-12-08 17:32:37 +0000 (Thu, 08 Dec 2011)
Log Message:
-----------
svn merge ^/trunk/blender -r42495:42516

Revision Links:
--------------
    
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42495

Modified Paths:
--------------
    
branches/bmesh/blender/release/scripts/startup/bl_operators/object_randomize_transform.py
    branches/bmesh/blender/source/blender/blenkernel/BKE_deform.h
    branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h
    branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/bmesh/blender/source/blender/blenkernel/intern/deform.c
    branches/bmesh/blender/source/blender/blenkernel/intern/mesh_validate.c
    branches/bmesh/blender/source/blender/editors/object/object_vgroup.c
    branches/bmesh/blender/source/blender/editors/space_view3d/drawobject.c
    branches/bmesh/blender/source/blender/editors/space_view3d/view3d_view.c
    branches/bmesh/blender/source/blender/gpu/GPU_draw.h
    branches/bmesh/blender/source/blender/gpu/intern/gpu_draw.c
    branches/bmesh/blender/source/blender/makesrna/intern/rna_curve.c
    branches/bmesh/blender/source/blender/makesrna/intern/rna_tracking.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_hook.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvg_util.c
    branches/bmesh/blender/source/blender/render/intern/source/pipeline.c

Property Changed:
----------------
    branches/bmesh/blender/
    branches/bmesh/blender/release/


Property changes on: branches/bmesh/blender
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379,42397,42400
/trunk/blender:39992-42495
   + /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379,42397,42400
/trunk/blender:39992-42516


Property changes on: branches/bmesh/blender/release
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender/release:31524-42495
   + /trunk/blender/release:31524-42516

Modified: 
branches/bmesh/blender/release/scripts/startup/bl_operators/object_randomize_transform.py
===================================================================
--- 
branches/bmesh/blender/release/scripts/startup/bl_operators/object_randomize_transform.py
   2011-12-08 15:55:49 UTC (rev 42516)
+++ 
branches/bmesh/blender/release/scripts/startup/bl_operators/object_randomize_transform.py
   2011-12-08 17:32:37 UTC (rev 42517)
@@ -20,13 +20,12 @@
 
 import bpy
 from bpy.types import Operator
+from mathutils import Vector
 
-
 def randomize_selected(seed, delta, loc, rot, scale, scale_even, scale_min):
 
     import random
     from random import uniform
-    from mathutils import Vector
 
     random.seed(seed)
 
@@ -86,6 +85,7 @@
 from bpy.props import (IntProperty,
                        BoolProperty,
                        FloatVectorProperty)
+from math import pi
 
 
 class RandomizeLocRotSize(Operator):
@@ -129,10 +129,10 @@
     rot = FloatVectorProperty(
             name="Rotation",
             description="Maximun rotation over each axis",
-            min=-180.0,
-            max=180.0,
+            min=-pi,
+            max=pi,
             default=(0.0, 0.0, 0.0),
-            subtype='TRANSLATION',
+            subtype='EULER',
             )
     use_scale = BoolProperty(
             name="Randomize Scale",
@@ -162,14 +162,12 @@
             )
 
     def execute(self, context):
-        from math import radians
-
         seed = self.random_seed
 
         delta = self.use_delta
 
         loc = None if not self.use_loc else self.loc
-        rot = None if not self.use_rot else self.rot * radians(1.0)
+        rot = None if not self.use_rot else Vector(self.rot)
         scale = None if not self.use_scale else self.scale
 
         scale_even = self.scale_even

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_deform.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_deform.h       
2011-12-08 15:55:49 UTC (rev 42516)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_deform.h       
2011-12-08 17:32:37 UTC (rev 42517)
@@ -52,7 +52,8 @@
 
 struct MDeformWeight   *defvert_find_index(const struct MDeformVert *dv, const 
int defgroup);
 struct MDeformWeight   *defvert_verify_index(struct MDeformVert *dv, const int 
defgroup);
-void                     defvert_remove_index(struct MDeformVert *dvert, int 
defgroup, struct MDeformWeight *dw);
+void                     defvert_add_index_notest(struct MDeformVert *dv, int 
defgroup, const float weight);
+void                     defvert_remove_group(struct MDeformVert *dvert, 
struct MDeformWeight *dw);
 
 float  defvert_find_weight(const struct MDeformVert *dvert, const int 
defgroup);
 float  defvert_array_find_weight_safe(const struct MDeformVert *dvert, const 
int index, const int defgroup);

Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h 2011-12-08 
15:55:49 UTC (rev 42516)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_mesh.h 2011-12-08 
17:32:37 UTC (rev 42517)
@@ -192,7 +192,13 @@
 void mesh_translate(struct Mesh *me, float offset[3], int do_keys);
 
 /* mesh_validate.c */
-int BKE_mesh_validate_arrays(struct Mesh *me, struct MVert *mverts, unsigned 
int totvert, struct MEdge *medges, unsigned int totedge, struct MFace *mfaces, 
unsigned int totface, const short do_verbose, const short do_fixes);
+int BKE_mesh_validate_arrays(
+               struct Mesh *me,
+        struct MVert *mverts, unsigned int totvert,
+        struct MEdge *medges, unsigned int totedge,
+        struct MFace *mfaces, unsigned int totface,
+        struct MDeformVert *dverts, /* assume totvert length */
+        const short do_verbose, const short do_fixes);
 int BKE_mesh_validate(struct Mesh *me, int do_verbose);
 int BKE_mesh_validate_dm(struct DerivedMesh *dm);
 

Modified: 
branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c     
2011-12-08 15:55:49 UTC (rev 42516)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c     
2011-12-08 17:32:37 UTC (rev 42517)
@@ -1279,11 +1279,8 @@
                                                }
                                        }
                                }
-                               if(!dodraw) {
-                                       continue;
-                               }
 
-                               if( numdata != 0 ) {
+                               if(dodraw && numdata != 0 ) {
                                        offset = 0;
                                        if(attribs.totorco) {
                                                copy_v3_v3((float 
*)&varray[elementsize*curface*3],(float *)attribs.orco.array[mface->v1]);
@@ -1325,7 +1322,7 @@
                                }
                                curface++;
                                if(mface->v4) {
-                                       if( numdata != 0 ) {
+                                       if(dodraw && numdata != 0 ) {
                                                offset = 0;
                                                if(attribs.totorco) {
                                                        copy_v3_v3((float 
*)&varray[elementsize*curface*3],(float *)attribs.orco.array[mface->v3]);

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/deform.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/deform.c    
2011-12-08 15:55:49 UTC (rev 42516)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/deform.c    
2011-12-08 17:32:37 UTC (rev 42517)
@@ -577,46 +577,61 @@
        return dw_new;
 }
 
-/* Removes the given vertex from the vertex group, specified either by its 
defgrp_idx,
- * or directly by its MDeformWeight pointer, if dw is not NULL.
- * WARNING: This function frees the given MDeformWeight, do not use it 
afterward! */
-void defvert_remove_index(MDeformVert *dvert, int defgroup, MDeformWeight *dw)
+/* TODO. merge with code above! */
+
+/* Adds the given vertex to the specified vertex group, with given weight.
+ * warning, this does NOT check for existign, assume caller already knows its 
not there */
+void defvert_add_index_notest(MDeformVert *dvert, int defgroup, const float 
weight)
 {
        MDeformWeight *dw_new;
-       int i;
 
-       /* Get index of removed MDeformWeight. */
-       if (dw == NULL) {
-               dw = dvert->dw;
-               for (i = dvert->totweight; i > 0; i--, dw++) {
-                       if (dw->def_nr == defgroup)
-                               break;
-               }
-               i--;
+       /* do this check always, this function is used to check for it */
+       if (!dvert || defgroup < 0)
+               return;
+
+       dw_new = 
BLI_cellalloc_calloc(sizeof(MDeformWeight)*(dvert->totweight+1), 
"defvert_add_to group, new deformWeight");
+       if(dvert->dw) {
+               memcpy(dw_new, dvert->dw, 
sizeof(MDeformWeight)*dvert->totweight);
+               BLI_cellalloc_free(dvert->dw);
        }
-       else {
-               i = dw - dvert->dw;
+       dvert->dw = dw_new;
+       dw_new += dvert->totweight;
+       dw_new->weight = weight;
+       dw_new->def_nr = defgroup;
+       dvert->totweight++;
+}
+
+
+/* Removes the given vertex from the vertex group.
+ * WARNING: This function frees the given MDeformWeight, do not use it 
afterward! */
+void defvert_remove_group(MDeformVert *dvert, MDeformWeight *dw)
+{
+       if (dvert && dw) {
+               MDeformWeight *dw_new;
+               int i = dw - dvert->dw;
+
                /* Security check! */
-               if(i < 0 || i >= dvert->totweight)
+               if(i < 0 || i >= dvert->totweight) {
                        return;
-       }
+               }
 
-       dvert->totweight--;
-       /* If there are still other deform weights attached to this vert then 
remove
-        * this deform weight, and reshuffle the others.
-        */
-       if (dvert->totweight) {
-               dw_new = 
BLI_cellalloc_malloc(sizeof(MDeformWeight)*(dvert->totweight), __func__);
-               if (dvert->dw){
-                       memcpy(dw_new, dvert->dw, sizeof(MDeformWeight)*i);
-                       memcpy(dw_new+i, dvert->dw+i+1, 
sizeof(MDeformWeight)*(dvert->totweight-i));
+               dvert->totweight--;
+               /* If there are still other deform weights attached to this 
vert then remove
+                * this deform weight, and reshuffle the others.
+                */
+               if (dvert->totweight) {
+                       dw_new = 
BLI_cellalloc_malloc(sizeof(MDeformWeight)*(dvert->totweight), __func__);
+                       if (dvert->dw){
+                               memcpy(dw_new, dvert->dw, 
sizeof(MDeformWeight)*i);
+                               memcpy(dw_new+i, dvert->dw+i+1, 
sizeof(MDeformWeight)*(dvert->totweight-i));
+                               BLI_cellalloc_free(dvert->dw);
+                       }
+                       dvert->dw = dw_new;
+               }
+               else {
+                       /* If there are no other deform weights left then just 
remove this one. */
                        BLI_cellalloc_free(dvert->dw);
+                       dvert->dw = NULL;
                }
-               dvert->dw = dw_new;
        }
-       else {
-               /* If there are no other deform weights left then just remove 
this one. */
-               BLI_cellalloc_free(dvert->dw);
-               dvert->dw = NULL;
-       }
 }

Modified: 
branches/bmesh/blender/source/blender/blenkernel/intern/mesh_validate.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/mesh_validate.c     
2011-12-08 15:55:49 UTC (rev 42516)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/mesh_validate.c     
2011-12-08 17:32:37 UTC (rev 42517)
@@ -45,6 +45,7 @@
 #include "MEM_guardedalloc.h"
 
 #include "BKE_mesh.h"
+#include "BKE_deform.h"
 
 #define SELECT 1
 
@@ -118,7 +119,12 @@
 
 #define PRINT if(do_verbose) printf
 
-int BKE_mesh_validate_arrays(Mesh *me, MVert *mverts, unsigned int totvert, 
MEdge *medges, unsigned int totedge, MFace *mfaces, unsigned int totface, const 
short do_verbose, const short do_fixes)
+int BKE_mesh_validate_arrays( Mesh *me,
+                              MVert *mverts, unsigned int totvert,
+                              MEdge *medges, unsigned int totedge,
+                              MFace *mfaces, unsigned int totface,
+                              MDeformVert *dverts, /* assume totvert length */
+                              const short do_verbose, const short do_fixes)
 {
 #      define REMOVE_EDGE_TAG(_med) { _med->v2= _med->v1; do_edge_free= 1; }
 #      define REMOVE_FACE_TAG(_mf) { _mf->v3=0; do_face_free= 1; }
@@ -157,7 +163,7 @@
                int fix_normal= TRUE;
 
                for(j=0; j<3; j++) {
-                       if(isnan(mvert->co[j]) || !finite(mvert->co[j])) {
+                       if(!finite(mvert->co[j])) {
                                PRINT("    vertex %u: has invalid 
coordinate\n", i);

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to