def enterEditMode():
Blender.Window.EditMode(1)
-def exitEditMode():
+def enterObjectMode():
Blender.Window.EditMode(0)
+def enterPoseMode():
+ Blender.Window.PoseMode(1)
+
def createVector(x, y, z):
return Mathutils.Vector(x, y, z)
indices.append(index)
return indices
+ @staticmethod
+ def createBoneGroup(o, name, color_set='DEFAULT'):
+ # create group
+ object.activate(o)
+ enterPoseMode()
+ bpy.ops.pose.group_add()
+ # set name
+ pose=object.getPose(o)
+ g=pose.active_bone_group
+ g.name=name
+ g.color_set=color_set
+
+ @staticmethod
+ def boneGroups(o):
+ return object.getPose(o).bone_groups
+
class modifier:
@staticmethod
@staticmethod
@to_internal_encoding
def create(path):
- image = Blender.Image.Load(path)
+ try:
+ image = Blender.Image.Load(path)
+ except IOError:
+ image = None
texture = Blender.Texture.New(path)
texture.type = Blender.Texture.Types.IMAGE
texture.image = image
texture.imageFlags|=Blender.Texture.ImageFlags.USEALPHA
return texture, image
+ @staticmethod
+ def getPath(t):
+ image=t.getImage()
+ if image:
+ return image.getFilename()
+
class material:
@staticmethod
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 getTexture(m, index):
+ return m.textures[index].tex
@staticmethod
- def hasTexture(material):
- return len(material.getTextures())>0
+ 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):
def addMaterial(m, material):
m.materials+=[material]
+ @staticmethod
+ def getMaterial(m, index):
+ return m.materials[index]
+
class vertex:
@staticmethod