OSDN Git Service

fix export vertex map.
[meshio/meshio.git] / swig / blender / bl24.py
index 17af23b..f57b1c7 100755 (executable)
@@ -272,6 +272,10 @@ class object:
         g.name=name
         g.color_set=color_set
 
+    @staticmethod
+    def boneGroups(o):
+        return object.getPose(o).bone_groups
+
 
 class modifier:
     @staticmethod
@@ -327,6 +331,12 @@ class texture:
         texture.imageFlags|=Blender.Texture.ImageFlags.USEALPHA
         return texture, image
 
+    @staticmethod
+    def getPath(t):
+        image=t.getImage()
+        if image:
+            return image.getFilename()
+
 
 class material:
     @staticmethod
@@ -340,13 +350,34 @@ class material:
         return Blender.Material.Get(material_name)
 
     @staticmethod
-    def addTexture(material, texture):
-        material.mode = material.mode | Blender.Material.Modes.TEXFACE
-        material.setTexture(0, texture, Blender.Texture.TexCo.UV)
+    def addTexture(m, texture, enable=True):
+        for i in xrange(10):
+            if m.textures[i]:
+                continue
+            if enable:
+                m.mode = m.mode | Blender.Material.Modes.TEXFACE
+                m.setTexture(i, texture, Blender.Texture.TexCo.UV)
+            else:
+                m.setTexture(i, texture)
+                material.setUseTexture(m, i, False)
+            return i
 
     @staticmethod
-    def hasTexture(material):
-        return len(material.getTextures())>0
+    def getTexture(m, index):
+        return m.textures[index].tex
+
+    @staticmethod
+    def hasTexture(m):
+        return len(m.getTextures())>0
+
+    @staticmethod
+    def setUseTexture(m, index, enable):
+        enabledTextures=set(m.enabledTextures)
+        if enable:
+            enabledTextures.add(index)
+        else:
+            enabledTextures.remove(index)
+        m.enabledTextures=list(enabledTextures)
 
     @staticmethod
     def eachTexturePath(m, dirname):
@@ -424,6 +455,10 @@ class mesh:
     def addMaterial(m, material):
         m.materials+=[material]
 
+    @staticmethod
+    def getMaterial(m, index):
+        return m.materials[index]
+
 
 class vertex:
     @staticmethod