[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3874] trunk/py/scripts/addons/ io_import_scene_mhx.py: MHX importer.
Thomas Larsson
thomas_larsson_01 at hotmail.com
Sat Oct 20 18:13:29 CEST 2012
Revision: 3874
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3874
Author: thomasl
Date: 2012-10-20 16:13:29 +0000 (Sat, 20 Oct 2012)
Log Message:
-----------
MHX importer. Advanced import settings hidden by default.
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-10-20 11:03:15 UTC (rev 3873)
+++ trunk/py/scripts/addons/io_import_scene_mhx.py 2012-10-20 16:13:29 UTC (rev 3874)
@@ -51,7 +51,7 @@
MAJOR_VERSION = 1
MINOR_VERSION = 13
-SUB_VERSION = 2
+SUB_VERSION = 3
#
#
@@ -117,8 +117,11 @@
T_Opcns = 0x2000
T_Symm = 0x4000
-toggle = ( T_EnforceVersion + T_Mesh + T_Armature +
+DefaultToggle = ( T_EnforceVersion + T_Mesh + T_Armature +
T_Shapekeys + T_ShapeDrivers + T_Proxy + T_Clothes + T_Rigify )
+
+toggle = DefaultToggle
+toggleSettings = toggle
#
# Dictionaries
@@ -2455,7 +2458,7 @@
def readDefaults():
- global toggle, theScale
+ global toggle, toggleSettings, theScale
path = os.path.realpath(os.path.expanduser(ConfigFile))
try:
fp = open(path, 'rU')
@@ -2473,10 +2476,11 @@
except:
print('Configuration file "%s" is corrupt' % path)
fp.close()
+ toggleSettings = toggle
return
def writeDefaults():
- global toggle, theScale
+ global toggleSettings, theScale
path = os.path.realpath(os.path.expanduser(ConfigFile))
try:
fp = open(path, 'w')
@@ -2484,7 +2488,7 @@
except:
print('Cannot open "%s" for writing' % path)
return
- fp.write("%x %f Graphicall" % (toggle, theScale))
+ fp.write("%x %f Graphicall" % (toggleSettings, theScale))
fp.close()
return
@@ -2908,21 +2912,36 @@
bl_region_type = "WINDOW"
bl_options = {'UNDO'}
- scale = FloatProperty(name="Scale", description="Default meter, decimeter = 1.0", default = theScale)
filename_ext = ".mhx"
filter_glob = StringProperty(default="*.mhx", options={'HIDDEN'})
filepath = StringProperty(subtype='FILE_PATH')
-
+
+ scale = FloatProperty(name="Scale", description="Default meter, decimeter = 1.0", default = theScale)
+ advanced = BoolProperty(name="Advanced settings", description="Use advanced import settings", default=False)
for (prop, name, desc, flag) in MhxBoolProps:
- expr = '%s = BoolProperty(name="%s", description="%s", default=toggle&%s)' % (prop, name, desc, flag)
+ expr = '%s = BoolProperty(name="%s", description="%s", default=toggleSettings&%s)' % (prop, name, desc, flag)
exec(expr)
+
+
+ def draw(self, context):
+ layout = self.layout
+ layout.prop(self, "scale")
+ layout.prop(self, "advanced")
+ if self.advanced:
+ for (prop, name, desc, flag) in MhxBoolProps:
+ layout.prop(self, prop)
+
def execute(self, context):
- global toggle, theScale, MhxBoolProps
- toggle = T_Armature
- for (prop, name, desc, flag) in MhxBoolProps:
- expr = '(%s if self.%s else 0)' % (flag, prop)
- toggle |= eval(expr)
+ global toggle, toggleSettings, theScale, MhxBoolProps
+ if not self.advanced:
+ toggle = DefaultToggle
+ else:
+ toggle = T_Armature
+ for (prop, name, desc, flag) in MhxBoolProps:
+ expr = '(%s if self.%s else 0)' % (flag, prop)
+ toggle |= eval(expr)
+ toggleSettings = toggle
print("execute flags %x" % toggle)
theScale = self.scale
@@ -2932,9 +2951,12 @@
except MhxError:
print("Error when loading MHX file:\n" + theMessage)
- writeDefaults()
+ if self.advanced:
+ writeDefaults()
+ self.advanced = False
return {'FINISHED'}
+
def invoke(self, context, event):
global toggle, theScale, MhxBoolProps
readDefaults()
More information about the Bf-extensions-cvs
mailing list