OSDN Git Service

fix mqo_import
authorU-theremin\focke <ousttrue@gmail.com>
Fri, 29 Apr 2011 12:26:42 +0000 (21:26 +0900)
committerU-theremin\focke <ousttrue@gmail.com>
Fri, 29 Apr 2011 12:26:42 +0000 (21:26 +0900)
meshio/__init__.py
meshio/import_mqo.py

index 98767b7..8b6397a 100755 (executable)
@@ -102,7 +102,7 @@ class ImportMQO(bpy.types.Operator, ImportHelper):
 
     def execute(self, context):
         from . import import_mqo
-        bl.initialize('mqo_import', scene)
+        bl.initialize('mqo_import', context.scene)
         import_mqo._execute(**self.as_keywords(
             ignore=("filter_glob",)))
         bl.finalize()
index b94f053..d8bf131 100755 (executable)
@@ -52,58 +52,31 @@ try:
     print('use meshio C module')\r
 except ImportError:\r
     # full python\r
-    from pymeshio import mqo\r
-\r
-def isBlender24():\r
-    return sys.version_info[0]<3\r
-\r
-if isBlender24():\r
-    # for 2.4\r
-    import Blender\r
-    from Blender import Mathutils\r
-    import bpy\r
-\r
-    # wrapper\r
-    import bl24 as bl\r
-\r
-    def createMqoMaterial(m):\r
-        material = Blender.Material.New(\r
-                m.getName().encode(bl.INTERNAL_ENCODING))\r
-        #material.mode |= Blender.Material.Modes.SHADELESS\r
-        # diffuse\r
-        material.rgbCol = [m.color.r, m.color.g, m.color.b]\r
-        material.alpha = m.color.a\r
-        # other\r
-        material.amb=m.ambient\r
-        material.spec=m.specular\r
-        material.hard=int(255 * m.power)\r
-        material.emit=m.emit\r
-        return material\r
-\r
-else:\r
-    # for 2.5\r
-    import bpy\r
-\r
-    # wrapper\r
-    import bl25 as bl\r
-\r
-    def createMqoMaterial(m):\r
-        material = bpy.data.materials.new(m.getName())\r
-        # shader\r
-        if m.shader==1:\r
-            material.diffuse_shader='FRESNEL'\r
-        else:\r
-            material.diffuse_shader='LAMBERT'\r
-        # diffuse\r
-        material.diffuse_color=[m.color.r, m.color.g, m.color.b]\r
-        material.diffuse_intensity=m.diffuse\r
-        material.alpha=m.color.a\r
-        # other\r
-        material.ambient = m.ambient\r
-        #material.specular = m.specular\r
-        material.emit=m.emit\r
-        material.use_shadeless=True\r
-        return material\r
+    from .pymeshio import mqo\r
+\r
+# for 2.5\r
+import bpy\r
+\r
+# wrapper\r
+from . import bl25 as bl\r
+\r
+def createMqoMaterial(m):\r
+    material = bpy.data.materials.new(m.getName())\r
+    # shader\r
+    if m.shader==1:\r
+        material.diffuse_shader='FRESNEL'\r
+    else:\r
+        material.diffuse_shader='LAMBERT'\r
+    # diffuse\r
+    material.diffuse_color=[m.color.r, m.color.g, m.color.b]\r
+    material.diffuse_intensity=m.diffuse\r
+    material.alpha=m.color.a\r
+    # other\r
+    material.ambient = m.ambient\r
+    #material.specular = m.specular\r
+    material.emit=m.emit\r
+    material.use_shadeless=True\r
+    return material\r
 \r
 \r
 def has_mikoto(mqo):\r
@@ -621,20 +594,20 @@ def create_bone_weight(scene, mqo, armature_object, objects):
         mesh.update()\r
 \r
 \r
-def _execute(filename, scene, scale=0.1):\r
+def _execute(filepath='', scale=0.1):\r
     # parse file\r
     io=mqo.IO()\r
-    if not io.read(filename):\r
-        bl.message("fail to load %s" % filename)\r
+    if not io.read(filepath):\r
+        bl.message("fail to load %s" % filepath)\r
         return\r
 \r
     # create materials\r
-    materials, imageMap=__createMaterials(io, os.path.dirname(filename))\r
+    materials, imageMap=__createMaterials(io, os.path.dirname(filepath))\r
     if len(materials)==0:\r
         materials.append(bl.material.create('default'))\r
 \r
     # create objects\r
-    root=bl.object.createEmpty(os.path.basename(filename))\r
+    root=bl.object.createEmpty(os.path.basename(filepath))\r
     objects=__createObjects(io, root, materials, imageMap, scale)\r
 \r
     if has_mikoto(io):\r