Revision: 50133
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50133
Author:   nazgul
Date:     2012-08-22 17:23:02 +0000 (Wed, 22 Aug 2012)
Log Message:
-----------
Merging r50119 through r50132 from trunk into soc-2011-tomato

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

Modified Paths:
--------------
    branches/soc-2011-tomato/doc/python_api/rst/info_gotcha.rst
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_material.h
    branches/soc-2011-tomato/source/blender/blenkernel/intern/material.c
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_connect.c
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_utils.c
    branches/soc-2011-tomato/source/blender/editors/interface/interface.c
    branches/soc-2011-tomato/source/blender/editors/render/render_preview.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_ops.c
    branches/soc-2011-tomato/source/blender/editors/space_logic/space_logic.c
    branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_add.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_draw.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_edit.c
    
branches/soc-2011-tomato/source/blender/editors/space_node/node_relationships.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform.c
    branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_ops.c
    branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/openexr_api.cpp
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_sequencer.c
    branches/soc-2011-tomato/source/blender/python/bmesh/bmesh_py_types.c
    branches/soc-2011-tomato/source/blender/python/intern/bpy_operator.c

Property Changed:
----------------
    branches/soc-2011-tomato/
    branches/soc-2011-tomato/source/blender/editors/interface/interface.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/


Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-50118
   + 
/branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-50132

Modified: branches/soc-2011-tomato/doc/python_api/rst/info_gotcha.rst
===================================================================
--- branches/soc-2011-tomato/doc/python_api/rst/info_gotcha.rst 2012-08-22 
17:22:04 UTC (rev 50132)
+++ branches/soc-2011-tomato/doc/python_api/rst/info_gotcha.rst 2012-08-22 
17:23:02 UTC (rev 50133)
@@ -137,11 +137,11 @@
 NGons and Tessellation Faces
 ============================
 
-Since 2.63 NGons are supported, this adds some complexity since in some cases 
you need to access triangles still (some exporters for example).
+Since 2.63 NGons are supported, this adds some complexity since in some cases 
you need to access triangles/quads still (some exporters for example).
 
 There are now 3 ways to access faces:
 
-* :class:`bpy.types.MeshPolygon` - this is the data stricture which now stores 
faces in object mode (access as ``mesh.polygons`` rather then ``mesh.faces``).
+* :class:`bpy.types.MeshPolygon` - this is the data structure which now stores 
faces in object mode (access as ``mesh.polygons`` rather then ``mesh.faces``).
 * :class:`bpy.types.MeshTessFace` - the result of triangulating (tessellated) 
polygons, the main method of face access in 2.62 or older (access as 
``mesh.tessfaces``).
 * :class:`bmesh.types.BMFace` - the polygons as used in editmode.
 

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py      
2012-08-22 17:22:04 UTC (rev 50132)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py      
2012-08-22 17:23:02 UTC (rev 50133)
@@ -1182,7 +1182,7 @@
         layout = self.layout
         layout.operator_context = 'EXEC_AREA'
         layout.operator("object.hook_add_newob")
-        layout.operator("object.hook_add_selob")
+        layout.operator("object.hook_add_selob").use_bone = False
         layout.operator("object.hook_add_selob", text="Hook to Selected Object 
Bone").use_bone = True
 
         if [mod.type == 'HOOK' for mod in context.active_object.modifiers]:

Modified: branches/soc-2011-tomato/source/blender/blenkernel/BKE_material.h
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/BKE_material.h   
2012-08-22 17:22:04 UTC (rev 50132)
+++ branches/soc-2011-tomato/source/blender/blenkernel/BKE_material.h   
2012-08-22 17:23:02 UTC (rev 50133)
@@ -48,6 +48,7 @@
 
 void init_def_material(void);
 void BKE_material_free(struct Material *sc); 
+void BKE_material_free_ex(struct Material *ma, int do_id_user);
 void test_object_materials(struct ID *id);
 void resize_object_material(struct Object *ob, const short totcol);
 void init_material(struct Material *ma);

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/material.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/material.c        
2012-08-22 17:22:04 UTC (rev 50132)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/material.c        
2012-08-22 17:23:02 UTC (rev 50133)
@@ -80,12 +80,18 @@
 /* not material itself */
 void BKE_material_free(Material *ma)
 {
+       BKE_material_free_ex(ma, TRUE);
+}
+
+/* not material itself */
+void BKE_material_free_ex(Material *ma, int do_id_user)
+{
        MTex *mtex;
        int a;
        
        for (a = 0; a < MAX_MTEX; a++) {
                mtex = ma->mtex[a];
-               if (mtex && mtex->tex) mtex->tex->id.us--;
+               if (do_id_user && mtex && mtex->tex) mtex->tex->id.us--;
                if (mtex) MEM_freeN(mtex);
        }
        
@@ -101,7 +107,7 @@
        
        /* is no lib link block, but material extension */
        if (ma->nodetree) {
-               ntreeFreeTree(ma->nodetree);
+               ntreeFreeTree_ex(ma->nodetree, do_id_user);
                MEM_freeN(ma->nodetree);
        }
 

Modified: branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_connect.c
===================================================================
--- branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_connect.c       
2012-08-22 17:22:04 UTC (rev 50132)
+++ branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_connect.c       
2012-08-22 17:23:02 UTC (rev 50133)
@@ -370,39 +370,36 @@
                        }
                }
 
-               /* Find the shortest distance from a vert in vv1 to vv2[0]. Use 
that
-                * vertex in vv1 as a starting point in the first loop, while 
starting
-                * from vv2[0] in the second loop. This is a simplistic attempt 
to get
-                * a better edge-to-edge match between the two loops. */
+               /* Find the smallest sum of distances from verts in vv1 to 
verts in vv2,
+                * finding a starting point in the first loop, to start with 
vv2[0] in the
+                * second loop. This is a simplistic attempt to get a better 
edge-to-edge
+                * match between two loops. */
                if (cl1) {
-                       int previ, nexti;
                        float min = 1e32;
 
-                       /* BMESH_TODO: Would be nice to do a more thorough 
analysis of all
-                        * the vertices in both loops to find a more accurate 
match for the
-                        * starting point and winding direction of the bridge 
generation. */
-                       
-                       for (i = 0; i < BLI_array_count(vv1); i++) {
-                               if (len_v3v3(vv1[i]->co, vv2[0]->co) < min) {
-                                       min = len_v3v3(vv1[i]->co, vv2[0]->co);
+                       for (i = 0; i < lenv1; i++) {
+                               float len;
+
+                               /* compute summed length between vertices in 
forward direction */
+                               len = 0.0f;
+                               for (j = 0; j < lenv2; j++)
+                                       len += len_v3v3(vv1[clamp_index(i+j, 
lenv1)]->co, vv2[j]->co);
+
+                               if (len < min) {
+                                       min = len;
                                        starti = i;
                                }
-                       }
 
-                       /* Reverse iteration order for the first loop if the 
distance of
-                        * the (starti - 1) vert from vv1 is a better match for 
vv2[1] than
-                        * the (starti + 1) vert.
-                        *
-                        * This is not always going to be right, but it will 
work better in
-                        * the average case.
-                        */
-                       previ = clamp_index(starti - 1, lenv1);
-                       nexti = clamp_index(starti + 1, lenv1);
+                               /* compute summed length between vertices in 
backward direction */
+                               len = 0.0f;
+                               for (j = 0; j < lenv2; j++)
+                                       len += len_v3v3(vv1[clamp_index(i-j, 
lenv1)]->co, vv2[j]->co);
 
-                       /* avoid sqrt for comparison */
-                       if (len_squared_v3v3(vv1[nexti]->co, vv2[1]->co) > 
len_squared_v3v3(vv1[previ]->co, vv2[1]->co)) {
-                               /* reverse direction for reading vv1 (1 is 
forward, -1 is backward) */
-                               dir1 = -1;
+                               if (len < min) {
+                                       min = len;
+                                       starti = i;
+                                       dir1 = -1;
+                               }
                        }
                }
 

Modified: branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_utils.c
===================================================================
--- branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_utils.c 
2012-08-22 17:22:04 UTC (rev 50132)
+++ branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_utils.c 
2012-08-22 17:23:02 UTC (rev 50133)
@@ -182,14 +182,17 @@
        if (!usefaces) {
                BMO_ITER (v, &siter, bm, op, "geom", BM_VERT) {
                        BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
-                               if (!BMO_elem_flag_test(bm, e, SEL_ORIG))
-                                       break;
+                               if (!BM_elem_flag_test(e, BM_ELEM_HIDDEN))
+                                       if (!BMO_elem_flag_test(bm, e, 
SEL_ORIG))
+                                               break;
                        }
 
                        if (e) {
                                BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
-                                       BMO_elem_flag_enable(bm, e, SEL_FLAG);
-                                       BMO_elem_flag_enable(bm, 
BM_edge_other_vert(e, v), SEL_FLAG);
+                                       if (!BM_elem_flag_test(e, 
BM_ELEM_HIDDEN)) {
+                                               BMO_elem_flag_enable(bm, e, 
SEL_FLAG);
+                                               BMO_elem_flag_enable(bm, 
BM_edge_other_vert(e, v), SEL_FLAG);
+                                       }
                                }
                        }
                }
@@ -202,8 +205,10 @@
                BMO_ITER (f, &siter, bm, op, "geom", BM_FACE) {
                        BM_ITER_ELEM (l, &liter, f, BM_LOOPS_OF_FACE) {
                                BM_ITER_ELEM (f2, &fiter, l->e, 
BM_FACES_OF_EDGE) {
-                                       if (!BMO_elem_flag_test(bm, f2, 
SEL_ORIG)) {
-                                               BMO_elem_flag_enable(bm, f2, 
SEL_FLAG);
+                                       if (!BM_elem_flag_test(f2, 
BM_ELEM_HIDDEN)) {
+                                               if (!BMO_elem_flag_test(bm, f2, 
SEL_ORIG)) {
+                                                       
BMO_elem_flag_enable(bm, f2, SEL_FLAG);
+                                               }
                                        }
                                }
                        }
@@ -221,15 +226,18 @@
        if (!usefaces) {
                BMO_ITER (v, &siter, bm, op, "geom", BM_VERT) {
                        BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
-                               if (!BMO_elem_flag_test(bm, e, SEL_ORIG))
-                                       break;
+                               if (!BM_elem_flag_test(e, BM_ELEM_HIDDEN))
+                                       if (!BMO_elem_flag_test(bm, e, 
SEL_ORIG))
+                                               break;
                        }
 
                        if (e) {
                                BMO_elem_flag_enable(bm, v, SEL_FLAG);
 
                                BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
-                                       BMO_elem_flag_enable(bm, e, SEL_FLAG);
+                                       if (!BM_elem_flag_test(e, 
BM_ELEM_HIDDEN)) {
+                                               BMO_elem_flag_enable(bm, e, 
SEL_FLAG);
+                                       }
                                }
 
                        }
@@ -243,9 +251,11 @@
                BMO_ITER (f, &siter, bm, op, "geom", BM_FACE) {
                        BM_ITER_ELEM (l, &liter, f, BM_LOOPS_OF_FACE) {
                                BM_ITER_ELEM (f2, &fiter, l->e, 
BM_FACES_OF_EDGE) {
-                                       if (!BMO_elem_flag_test(bm, f2, 
SEL_ORIG)) {
-                                               BMO_elem_flag_enable(bm, f, 
SEL_FLAG);
-                                               break;
+                                       if (!BM_elem_flag_test(f2, 
BM_ELEM_HIDDEN)) {
+                                               if (!BMO_elem_flag_test(bm, f2, 
SEL_ORIG)) {
+                                                       
BMO_elem_flag_enable(bm, f, SEL_FLAG);
+                                                       break;
+                                               }
                                        }
                                }
                        }

Modified: branches/soc-2011-tomato/source/blender/editors/interface/interface.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/interface/interface.c       
2012-08-22 17:22:04 UTC (rev 50132)
+++ branches/soc-2011-tomato/source/blender/editors/interface/interface.c       
2012-08-22 17:23:02 UTC (rev 50133)
@@ -3814,7 +3814,9 @@
 
                                if (WM_key_event_operator_string(C, 
but->optype->idname, but->opcontext, prop, TRUE,
                                                                 buf, 
sizeof(buf)))
+                               {
                                        tmp = BLI_strdup(buf);
+                               }
                        }

@@ 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