BMesh Merge
authorCampbell Barton <ideasman42@gmail.com>
Sun, 19 Feb 2012 19:12:36 +0000 (19:12 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sun, 19 Feb 2012 19:12:36 +0000 (19:12 +0000)
===========

initial merge from BMesh branch,

this replaces the existing mesh format and editmode data structures, for more info see:
http://wiki.blender.org/index.php/Dev:2.6/Source/Modeling/BMesh

this is the work of quite a few developers over the years.

Key Contributors
================

* Geoffrey Bantle (aka) Briggs, original author.
* Joe Eager (aka) joeedh

More recently
* Howard Trickey
* Ender79 aka Ender79 :)

What to Expect
==============

In general blender shouldnt crash on files or totally fail to load scenes,
painting tools etc have been tested to work.

* its quite easy to make the tesselator fail (show holes, missing faces), with non planer ngons.
* most modifiers are working fine but a few had to be re-written - bevel, array - array is much slower, bevel will probably be changed to match trunk soon.
* NavMesh BGE feature isn't functional yet.
* Some UV sticth tools still need porting.
* hair doesnt work right on ngons yet.
* many python scripts will break.
* a python api to BMesh needs to be written still.

(for todo's in code do a searh for BMESH_TODO)

build_files/cmake/cmake_consistency_check_config.py
release/plugins/sequence/Makefile [new file with mode: 0644]
release/scripts/modules/bpy_extras/mesh_utils.py
release/scripts/presets/keyconfig/maya.py

index 4938ca44a64b5b02af2371678a6faa0d695311b7..a6215b40ae8335113f0cb04fb9b4cffd98d80316 100644 (file)
@@ -49,14 +49,6 @@ IGNORE = (
     "extern/recastnavigation/Recast/Include/RecastTimer.h",
     "intern/audaspace/SRC/AUD_SRCResampleFactory.h",
     "intern/audaspace/SRC/AUD_SRCResampleReader.h",
-
-    # for bmesh branch only
-    "source/blender/bmesh/editmesh_tools.c",
-    "source/blender/bmesh/intern/in-progress/BME_conversions.c",
-    "source/blender/bmesh/tools/BME_bevel.c",
-    "source/blender/bmesh/tools/BME_dupe_ops.c",
-    "source/blender/bmesh/tools/BME_duplicate.c",
-    "source/blender/bmesh/tools/BME_weld.c",
     )
 
 UTF8_CHECK = True
diff --git a/release/plugins/sequence/Makefile b/release/plugins/sequence/Makefile
new file mode 100644 (file)
index 0000000..2b12e62
--- /dev/null
@@ -0,0 +1,32 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s): none yet.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+all: plugins
+
+plugins:
+       @/bin/sh -c 'for i in *.c; do ../bmake $$i; done;'
+
+clean:
+       rm -rf *.o *.so
index e93036ee9bb7c16cb819ea12b71f058eceb5cf3a..601ffae4796fd8f5d844f542426d300846e88b94 100644 (file)
@@ -140,7 +140,8 @@ def edge_loops_from_faces(mesh, faces=None, seams=()):
     edges = {}
 
     for f in faces:
-        if len(f.vertices) == 4:
+#        if len(f) == 4:
+        if f.vertices_raw[3] != 0:
             edge_keys = f.edge_keys
             for i, edkey in enumerate(f.edge_keys):
                 edges.setdefault(edkey, []).append(edge_keys[OTHER_INDEX[i]])
index 40bf1a9d1245db815b6d5909e436d9bb1acc322a..5e1e5d0d778e01efad5e19489e0118e8d05268c7 100644 (file)
@@ -346,7 +346,9 @@ kmi = km.keymap_items.new('mesh.split', 'Y', 'PRESS')
 kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', ctrl=True)
 kmi = km.keymap_items.new('mesh.delete', 'X', 'PRESS')
 kmi = km.keymap_items.new('mesh.delete', 'DEL', 'PRESS')
-kmi = km.keymap_items.new('mesh.knifetool', 'K', 'PRESS')
+kmi = km.keymap_items.new('mesh.knife_cut', 'LEFTMOUSE', 'PRESS', key_modifier='K')
+kmi = km.keymap_items.new('mesh.knife_cut', 'LEFTMOUSE', 'PRESS', shift=True, key_modifier='K')
+kmi.properties.type = 'MIDPOINTS'
 kmi = km.keymap_items.new('object.vertex_parent_set', 'P', 'PRESS', ctrl=True)
 kmi = km.keymap_items.new('wm.call_menu', 'W', 'PRESS', ctrl=True)
 kmi.properties.name = 'VIEW3D_MT_edit_mesh_specials'