[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45386] branches/soc-2008-mxcurioni: Merged changes in the trunk up to revision 45383.

Tamito Kajiyama rd6t-kjym at asahi-net.or.jp
Wed Apr 4 02:50:42 CEST 2012


Revision: 45386
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45386
Author:   kjym3
Date:     2012-04-04 00:50:41 +0000 (Wed, 04 Apr 2012)
Log Message:
-----------
Merged changes in the trunk up to revision 45383.

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

Modified Paths:
--------------
    branches/soc-2008-mxcurioni/release/scripts/presets/keyconfig/maya.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/image.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/mesh.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_object_constraint.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_context.h
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/DerivedMesh.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/context.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/displist.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/dynamicpaint.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/particle.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/BLI_math_matrix.h
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/math_matrix.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/math_rotation.c
    branches/soc-2008-mxcurioni/source/blender/blenloader/intern/readfile.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_construct.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_inline.h
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_marking.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_marking.h
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_mesh.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_mesh_conv.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_mesh_validate.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_operator_api.h
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_operator_api_inline.h
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_operators.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_queries.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/intern/bmesh_walkers_impl.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/operators/bmo_dupe.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/operators/bmo_extrude.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/operators/bmo_inset.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/operators/bmo_subdivide.c
    branches/soc-2008-mxcurioni/source/blender/bmesh/tools/BME_bevel.c
    branches/soc-2008-mxcurioni/source/blender/editors/animation/anim_filter.c
    branches/soc-2008-mxcurioni/source/blender/editors/armature/poseobject.c
    branches/soc-2008-mxcurioni/source/blender/editors/curve/editcurve.c
    branches/soc-2008-mxcurioni/source/blender/editors/include/UI_interface.h
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_layout.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_regions.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editface.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_loopcut.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_select.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_utils.c
    branches/soc-2008-mxcurioni/source/blender/editors/object/object_vgroup.c
    branches/soc-2008-mxcurioni/source/blender/editors/render/render_opengl.c
    branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/paint_image.c
    branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/paint_vertex.c
    branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/sculpt_undo.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_console/console_intern.h
    branches/soc-2008-mxcurioni/source/blender/editors/space_console/console_ops.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_console/space_console.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_graph/graph_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_image/image_ops.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_image/space_image.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawmesh.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/view3d_fly.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_conversions.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_manipulator.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_orientations.c
    branches/soc-2008-mxcurioni/source/blender/editors/uvedit/uvedit_buttons.c
    branches/soc-2008-mxcurioni/source/blender/editors/uvedit/uvedit_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/uvedit/uvedit_ops.c
    branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_buffers.c
    branches/soc-2008-mxcurioni/source/blender/imbuf/intern/anim_movie.c
    branches/soc-2008-mxcurioni/source/blender/imbuf/intern/filetype.c
    branches/soc-2008-mxcurioni/source/blender/imbuf/intern/openexr/SConscript
    branches/soc-2008-mxcurioni/source/blender/imbuf/intern/openexr/openexr_api.cpp
    branches/soc-2008-mxcurioni/source/blender/imbuf/intern/openexr/openexr_api.h
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/makesrna.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_mesh.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_test.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_timeline.c
    branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_array.c
    branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_boolean_util.c
    branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_explode.c
    branches/soc-2008-mxcurioni/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c
    branches/soc-2008-mxcurioni/source/blender/python/intern/bpy_rna.c
    branches/soc-2008-mxcurioni/source/blender/python/mathutils/mathutils_Matrix.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/convertblender.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/volumetric.c

Property Changed:
----------------
    branches/soc-2008-mxcurioni/
    branches/soc-2008-mxcurioni/source/blender/editors/uvedit/uvedit_buttons.c


Property changes on: branches/soc-2008-mxcurioni
___________________________________________________________________
Modified: svn:mergeinfo
   - /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/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230
/trunk/blender:34011-39896,39898-40096,40098-44221,44223-44419,44421-45308
   + /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/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230
/trunk/blender:34011-39896,39898-40096,40098-44221,44223-44419,44421-45383

Modified: branches/soc-2008-mxcurioni/release/scripts/presets/keyconfig/maya.py
===================================================================
--- branches/soc-2008-mxcurioni/release/scripts/presets/keyconfig/maya.py	2012-04-04 00:45:40 UTC (rev 45385)
+++ branches/soc-2008-mxcurioni/release/scripts/presets/keyconfig/maya.py	2012-04-04 00:50:41 UTC (rev 45386)
@@ -164,7 +164,7 @@
 kmi = km.keymap_items.new('view3d.render_border', 'B', 'PRESS', shift=True)
 kmi = km.keymap_items.new('view3d.camera_to_view', 'NUMPAD_0', 'PRESS', ctrl=True, alt=True)
 kmi = km.keymap_items.new('view3d.object_as_camera', 'NUMPAD_0', 'PRESS', ctrl=True)
-kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
+kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True, ctrl=True)
 kmi.properties.name = 'VIEW3D_MT_snap'
 kmi = km.keymap_items.new('wm.context_set_enum', 'COMMA', 'PRESS')
 kmi.properties.data_path = 'space_data.pivot_point'

Modified: branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/image.py
===================================================================
--- branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/image.py	2012-04-04 00:45:40 UTC (rev 45385)
+++ branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/image.py	2012-04-04 00:50:41 UTC (rev 45386)
@@ -96,6 +96,10 @@
             self.report({'ERROR'}, "Context incorrect, image not found")
             return {'CANCELLED'}
 
+        if image.packed_file:
+            self.report({'ERROR'}, "Image is packed, unpack before editing")
+            return {'CANCELLED'}
+
         filepath = bpy.path.abspath(image.filepath, library=image.library)
 
         self.filepath = os.path.normpath(filepath)

Modified: branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/mesh.py
===================================================================
--- branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/mesh.py	2012-04-04 00:45:40 UTC (rev 45385)
+++ branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/mesh.py	2012-04-04 00:50:41 UTC (rev 45386)
@@ -55,7 +55,7 @@
         mirror_gt = {}
         mirror_lt = {}
 
-        vcos = [v.co.to_tuple(5) for v in mesh.vertices]
+        vcos = (v.co.to_tuple(5) for v in mesh.vertices)
 
         for i, co in enumerate(vcos):
             if co[0] > 0.0:
@@ -76,51 +76,60 @@
                 if j is not None:
                     vmap[i] = j
 
-        active_uv_layer = mesh.uv_textures.active.data
-        fuvs = [(uv.uv1, uv.uv2, uv.uv3, uv.uv4) for uv in active_uv_layer]
-        fuvs_cpy = [(uv[0].copy(), uv[1].copy(), uv[2].copy(), uv[3].copy())
-                    for uv in fuvs]
+        polys = mesh.polygons
+        loops = mesh.loops
+        verts = mesh.vertices
+        uv_loops = mesh.uv_loop_layers.active.data
+        nbr_polys = len(polys)
 
-        # as a list
-        # BMESH_TODO - use polygons
-        faces = mesh.faces[:]
+        mirror_pm = {}
+        pmap = {}
+        puvs = [None] * nbr_polys
+        puvs_cpy = [None] * nbr_polys
+        puvsel = [None] * nbr_polys
+        pcents = [None] * nbr_polys
+        vidxs = [None] * nbr_polys
+        for i, p in enumerate(polys):
+            lstart = lend = p.loop_start
+            lend += p.loop_total
+            puvs[i] = tuple(uv.uv for uv in uv_loops[lstart:lend])
+            puvs_cpy[i] = tuple(uv.copy() for uv in puvs[i])
+            puvsel[i] = (False not in
+                               (uv.select for uv in uv_loops[lstart:lend]))
+            # Vert idx of the poly.
+            vidxs[i] = tuple(sorted(l.vertex_index
+                                    for l in loops[lstart:lend]))
+            # As we have no poly.center yet...
+            pcents[i] = tuple(map(lambda x : x / p.loop_total,
+                                  map(sum, zip(*(verts[idx].co
+                                                 for idx in vidxs[i])))))
+            # Preparing next step finding matching polys.
+            mirror_pm[vidxs[i]] = i
 
-        fuvsel = [(False not in uv.select_uv) for uv in active_uv_layer]
-        fcents = [f.center for f in faces]
-
-        # find mirror faces
-        mirror_fm = {}
-        for i, f in enumerate(faces):
-            verts = list(f.vertices)
-            verts.sort()
-            verts = tuple(verts)
-            mirror_fm[verts] = i
-
-        fmap = {}
-        for i, f in enumerate(faces):
-            verts = [vmap.get(j) for j in f.vertices]
-            if None not in verts:
-                verts.sort()
-                j = mirror_fm.get(tuple(verts))
+        for i in range(nbr_polys):
+            # Find matching mirror poly.
+            tvidxs = [vmap.get(j) for j in vidxs[i]]
+            if None not in tvidxs:
+                tvidxs.sort()
+                j = mirror_pm.get(tuple(tvidxs))
                 if j is not None:
-                    fmap[i] = j
+                    pmap[i] = j
 
-        for i, j in fmap.items():
-
-            if not fuvsel[i] or not fuvsel[j]:
+        for i, j in pmap.items():
+            if not puvsel[i] or not puvsel[j]:
                 continue
-            elif DIR == 0 and fcents[i][0] < 0.0:
+            elif DIR == 0 and pcents[i][0] < 0.0:
                 continue
-            elif DIR == 1 and fcents[i][0] > 0.0:
+            elif DIR == 1 and pcents[i][0] > 0.0:
                 continue
 
             # copy UVs
-            uv1 = fuvs[i]
-            uv2 = fuvs_cpy[j]
+            uv1 = puvs[i]
+            uv2 = puvs_cpy[j]
 
             # get the correct rotation
-            v1 = faces[j].vertices[:]
-            v2 = [vmap[k] for k in faces[i].vertices[:]]
+            v1 = vidxs[j]
+            v2 = tuple(vmap[k] for k in vidxs[i])
 
             if len(v1) == len(v2):
                 for k in range(len(v1)):

Modified: branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_object_constraint.py
===================================================================
--- branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_object_constraint.py	2012-04-04 00:45:40 UTC (rev 45385)
+++ branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_object_constraint.py	2012-04-04 00:50:41 UTC (rev 45386)
@@ -816,7 +816,7 @@
         layout.operator("clip.constraint_to_fcurve")
 
     def SCRIPT(self, context, layout, con):
-        layout.label("Blender 2.5 has no py-constraints")
+        layout.label("Blender 2.6 doesn't support python constraints yet.")
 
 
 class OBJECT_PT_constraints(ConstraintButtonsPanel, Panel):

Modified: branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d.py	2012-04-04 00:45:40 UTC (rev 45385)
+++ branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d.py	2012-04-04 00:50:41 UTC (rev 45386)
@@ -1188,6 +1188,7 @@
         layout.operator("object.vertex_group_invert", text="Invert")
         layout.operator("object.vertex_group_clean", text="Clean")
         layout.operator("object.vertex_group_levels", text="Levels")
+        layout.operator("object.vertex_group_blend", text="Blend")
         layout.operator("object.vertex_group_fix", text="Fix Deforms")
 
         layout.separator()

Modified: branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
--- branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d_toolbar.py	2012-04-04 00:45:40 UTC (rev 45385)
+++ branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d_toolbar.py	2012-04-04 00:50:41 UTC (rev 45386)
@@ -977,6 +977,7 @@
         col.operator("object.vertex_group_invert", text="Invert")
         col.operator("object.vertex_group_clean", text="Clean")
         col.operator("object.vertex_group_levels", text="Levels")
+        col.operator("object.vertex_group_blend", text="Blend")
         col.operator("object.vertex_group_fix", text="Fix Deforms")
 
 

Modified: branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_context.h
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_context.h	2012-04-04 00:45:40 UTC (rev 45385)
+++ branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_context.h	2012-04-04 00:50:41 UTC (rev 45386)
@@ -117,6 +117,7 @@
 /* Stored Context */
 
 bContextStore *CTX_store_add(ListBase *contexts, const char *name, PointerRNA *ptr);
+bContextStore *CTX_store_add_all(ListBase *contexts, bContextStore *context);
 void CTX_store_set(bContext *C, bContextStore *store);
 bContextStore *CTX_store_copy(bContextStore *store);
 void CTX_store_free(bContextStore *store);

Modified: branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/DerivedMesh.c	2012-04-04 00:45:40 UTC (rev 45385)
+++ branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/DerivedMesh.c	2012-04-04 00:50:41 UTC (rev 45386)
@@ -382,6 +382,13 @@
 			       __func__, numPolys, dm->type);
 		}
 	}
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list