[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2954] trunk/py/scripts/addons/ io_import_scene_mhx.py: MHX importer: cleanup work.

Thomas Larsson thomas_larsson_01 at hotmail.com
Sun Jan 29 07:08:29 CET 2012


Revision: 2954
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2954
Author:   thomasl
Date:     2012-01-29 06:08:16 +0000 (Sun, 29 Jan 2012)
Log Message:
-----------
MHX importer: cleanup work.

Modified Paths:
--------------
    trunk/py/scripts/addons/io_import_scene_mhx.py

Modified: trunk/py/scripts/addons/io_import_scene_mhx.py
===================================================================
--- trunk/py/scripts/addons/io_import_scene_mhx.py	2012-01-27 21:12:00 UTC (rev 2953)
+++ trunk/py/scripts/addons/io_import_scene_mhx.py	2012-01-29 06:08:16 UTC (rev 2954)
@@ -9,8 +9,8 @@
 #  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.
 #
@@ -26,7 +26,7 @@
 """
 Abstract
 MHX (MakeHuman eXchange format) importer for Blender 2.5x.
-Version 1.10.1
+Version 1.10.2
 
 This script should be distributed with Blender.
 If not, place it in the .blender/scripts/addons dir
@@ -39,7 +39,7 @@
 bl_info = {
     'name': 'Import: MakeHuman (.mhx)',
     'author': 'Thomas Larsson',
-    'version': (1, 10, 1),
+    'version': (1, 10, 2),
     "blender": (2, 5, 9),
     'location': "File > Import > MakeHuman (.mhx)",
     'description': 'Import files in the MakeHuman eXchange format (.mhx)',
@@ -51,7 +51,7 @@
 
 MAJOR_VERSION = 1
 MINOR_VERSION = 10
-SUB_VERSION = 1
+SUB_VERSION = 2
 BLENDER_VERSION = (2, 59, 2)
 
 #
@@ -112,64 +112,10 @@
 T_Opcns = 0x2000
 T_Symm = 0x4000
 
-toggle = (T_EnforceVersion + T_Replace + T_Mesh + T_Armature + 
+toggle = (T_EnforceVersion + T_Mesh + T_Armature + 
         T_Face + T_Shape + T_Proxy + T_Clothes + T_Rigify)
 
 #
-#    setFlagsAndFloats(rigFlags):
-#
-#    Global floats
-#fFingerPanel = 0.0
-#fFingerIK = 0.0
-fNoStretch = 0.0
-
-#    rigLeg and rigArm flags
-T_Toes = 0x0001
-#T_GoboFoot = 0x0002
-
-#T_InvFoot = 0x0010
-#T_InvFootPT = 0x0020
-#T_InvFootNoPT = 0x0040
-
-#T_FingerPanel = 0x100
-#T_FingerRot = 0x0200
-#T_FingerIK = 0x0400
-
-
-#T_LocalFKIK = 0x8000
-
-#rigLeg = 0
-#rigArm = 0
-
-def setFlagsAndFloats():
-    '''
-    global toggle, rigLeg, rigArm
-
-    (footRig, fingerRig) = rigFlags
-    rigLeg = 0
-    if footRig == 'Reverse foot': 
-        rigLeg |= T_InvFoot
-        if toggle & T_PoleTar:
-            rigLeg |= T_InvFootPT
-        else:
-            rigLeg |= T_InvFootNoPT
-    elif footRig == 'Gobo': rigLeg |= T_GoboFoot        
-
-    rigArm = 0
-    if fingerRig == 'Panel': rigArm |= T_FingerPanel
-    elif fingerRig == 'Rotation': rigArm |= T_FingerRot
-    elif fingerRig == 'IK': rigArm |= T_FingerIK
-
-    toggle |= T_Panel
-    '''
-    global fNoStretch
-    if toggle&T_Stretch: fNoStretch == 0.0
-    else: fNoStretch = 1.0
-
-    return
-
-
-#
 #    Dictionaries
 #
 
@@ -292,8 +238,6 @@
     comment = 0
     nesting = 0
 
-    setFlagsAndFloats()
-
     file= open(fileName, "rU")
     print( "Tokenizing" )
     lineNo = 0
@@ -1513,7 +1457,7 @@
     if invalid(args[2]):
         return
 
-    if lr == 'Sym' or toggle & T_Symm:
+    if lr == 'Sym': # or toggle & T_Symm:
         addShapeKey(ob, name, None, tokens)
     elif lr == 'LR':
         addShapeKey(ob, name+'_L', 'Left', tokens)
@@ -2081,10 +2025,18 @@
     bpy.ops.mesh.select_all(action='DESELECT')
     bpy.ops.object.mode_set(mode='OBJECT')
     me = ob.data
-    for f in me.faces:    
-        if f.material_index >= 4:
-            for vn in f.vertices:
-                me.vertices[vn].select = True
+    invisioNum = -1
+    for mn,mat in enumerate(me.materials):
+        if "Invis" in mat.name:
+            invisioNum = mn
+            break
+    if invisioNum < 0:
+        print("WARNING: Nu Invisio material found. Cannot delete helper geometry")
+    else:        
+        for f in me.faces:    
+            if f.material_index >= invisioNum:
+                for vn in f.vertices:
+                    me.vertices[vn].select = True
     bpy.ops.object.mode_set(mode='EDIT')
     bpy.ops.mesh.delete(type='VERT')
     bpy.ops.object.mode_set(mode='OBJECT')
@@ -2348,6 +2300,7 @@
     scn = bpy.context.scene
     for n in range(len(scn.layers)):
         scn.layers[n] = True
+    return scn
     print("clearScene %s %s" % (toggle & T_Replace, scn))
     if not toggle & T_Replace:
         return scn
@@ -2862,13 +2815,13 @@
     ("mesh", "Mesh", "Use main mesh", T_Mesh),
     ("proxy", "Proxies", "Use proxies", T_Proxy),
     ("armature", "Armature", "Use armature", T_Armature),
-    ("replace", "Replace scene", "Replace scene", T_Replace),
+    #("replace", "Replace scene", "Replace scene", T_Replace),
     ("cage", "Cage", "Load mesh deform cage", T_Cage),
     ("clothes", "Clothes", "Include clothes", T_Clothes),
-    ("stretch", "Stretchy limbs", "Stretchy limbs", T_Stretch),
+    #("stretch", "Stretchy limbs", "Stretchy limbs", T_Stretch),
     ("face", "Face shapes", "Include facial shapekeys", T_Face),
     ("shape", "Body shapes", "Include body shapekeys", T_Shape),
-    ("symm", "Symmetric shapes", "Keep shapekeys symmetric", T_Symm),
+    #("symm", "Symmetric shapes", "Keep shapekeys symmetric", T_Symm),
     ("diamond", "Helper geometry", "Keep helper geometry", T_Diamond),
     ("rigify", "Rigify", "Create rigify control rig", T_Rigify),
 ]



More information about the Bf-extensions-cvs mailing list