###############################################################################
class ProgressBar(object):
def __init__(self, base):
- print "#### %s ####" % base
+ print("#### %s ####" % base)
self.base=base
self.start=Blender.sys.time()
self.set('<start>', 0)
self._print(message)
def _print(self, message):
- print message
+ print(message)
message="%s: %s" % (self.base, message)
if message.__class__ is unicode:
message=message.encode(FS_ENCODING)
dumy.setMatrix(obj.matrixWorld)
return mesh, dumy
+def objectDelete(scene, obj):
+ scene.objects.unlink(obj)
+
def faceVertexCount(face):
return len(face.v)
constraint[cSetting.TARGET]=armature_object
constraint[cSetting.USETIP]=False
constraint[cSetting.BONE]=effector_name
- #ik_solver.influence=ik.weight
# not used. place folder when export.
constraint[cSetting.ROTWEIGHT]=ik.weight
constraint[cSetting.ITERATIONS]=ik.iterations * 10
def shapeKeyAssign(shapeKey, index, pos):
shapeKey.data[index]=pos
+def objectIsVisible(obj):
+ return obj.restrictDisplay
+
+def meshVertexGroupNames(meshObject):
+ return meshObject.getData(mesh=True).getVertGroupNames()
+
+def faceNormal(face):
+ return face.no
+
+def meshFaceUv(mesh, i, face):
+ return face.uv
+
+def armatureModifierGetObject(m):
+ return m[Blender.Modifier.Settings.OBJECT]
+
+def objectHasShapeKey(o):
+ return o.getData(mesh=True).key
+
+def objectShapeKeys(o):
+ return o.getData(mesh=True).key.blocks
+
+def meshVertexGroup(meshObject, name):
+ indices=[]
+ for index in meshObject.getData(mesh=True).getVertsFromGroup(name):
+ indices.append(index)
+ return indices
+
+def materialGet(scene, material_name):
+ return Blender.Material.Get(material_name)
+
+def modifierIsArmature(m):
+ return m.name=="Armature"
+
+def boneHeadLocal(b):
+ return b.head['ARMATURESPACE'][0:3]
+
+def boneTailLocal(b):
+ return b.tail['ARMATURESPACE'][0:3]
+
+def boneIsConnected(b):
+ return Blender.Armature.CONNECTED in b.options
+
+def constraintIsIKSolver(c):
+ return c.type==Blender.Constraint.Type.IKSOLVER
+
+def ikChainLen(c):
+ return c[Blender.Constraint.Settings.CHAINLEN]
+
+def ikTarget(c):
+ return c[Blender.Constraint.Settings.BONE]
+
+def ikItration(c):
+ return c[Blender.Constraint.Settings.ITERATIONS]
+
+def ikRotationWeight(c):
+ return c[Blender.Constraint.Settings.ROTWEIGHT]
+
+def shapeKeyGet(b, index):
+ return b.data[index]
+
+def shapeKeys(b):
+ return b.data