Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2006-07-03 09:05:28 +0400
committerCampbell Barton <ideasman42@gmail.com>2006-07-03 09:05:28 +0400
commita33feaf49bf865aa6de0a02fd2b4231bb0393757 (patch)
tree2bb9a9ad6af87b1733593abbd950b444e8ad1f17 /release
parentacef774a610802bed2874b326ef601776bf0093e (diff)
Lots of scripts are using Object.Get() where Scene.GetCurrent().getChildren() is what is needed.
When through and replaced the obvious ones but there are still a a few Id rather not touch without more about whats going on. Did quite a few changes to export-iv also.
Diffstat (limited to 'release')
-rw-r--r--release/scripts/DirectX8Exporter.py8
-rw-r--r--release/scripts/bpymodules/svg2obj.py2
-rw-r--r--release/scripts/disp_paint.py2
-rw-r--r--release/scripts/envelope_symmetry.py6
-rw-r--r--release/scripts/export-iv-0.1.py455
-rw-r--r--release/scripts/xsi_export.py2
6 files changed, 238 insertions, 237 deletions
diff --git a/release/scripts/DirectX8Exporter.py b/release/scripts/DirectX8Exporter.py
index 61ab2b0b865..ffaf93e35c0 100644
--- a/release/scripts/DirectX8Exporter.py
+++ b/release/scripts/DirectX8Exporter.py
@@ -296,7 +296,7 @@ class xExport:
#***********************************************
def analyzeScene(self):
parent_list = []
- for obj in Object.Get():
+ for obj in Blender.Scene.GetCurrent().getChildren(): #Object.Get():
mesh = obj.getData()
if type(mesh) == Types.ArmatureType or type(mesh) == Types.NMeshType or obj.getType() == "Empty":
pare = obj.getParent()
@@ -307,14 +307,14 @@ class xExport:
def getChildren(self,obj):
children_list = []
- for object in Object.Get():
+ for object in Blender.Scene.GetCurrent().getChildren(): #Object.Get():
pare = object.parent
if pare == obj :
children_list.append(object)
return children_list
def getArmChildren(self,obj):
- for object in Object.Get():
+ for object in Blender.Scene.GetCurrent().getChildren(): #Object.Get():
pare = object.parent
if pare == obj :
return object
@@ -404,7 +404,7 @@ class xExport:
self.file.write("} // End of the Root Frame\n")
if anim :
self.file.write("AnimationSet {\n")
- for obj in Object.Get():
+ for obj in Blender.Scene.GetCurrent().getChildren(): #Object.Get():
mesh = obj.getData()
if type(mesh) == Types.NMeshType or obj.getType() == "Empty":
diff --git a/release/scripts/bpymodules/svg2obj.py b/release/scripts/bpymodules/svg2obj.py
index c9c951c996f..0b8db0e9728 100644
--- a/release/scripts/bpymodules/svg2obj.py
+++ b/release/scripts/bpymodules/svg2obj.py
@@ -439,7 +439,7 @@ def createCURVES(courbes):
elif scale_==3:
SCALE=r[3]-r[1]
- [o.select(0) for o in Object.Get()]
+ [o.select(0) for o in Scene.GetCurrent().getChildren()] #[o.select(0) for o in Object.Get()] - will not work
for I in courbes.ITEM:
c = Curve.New()
# ----------
diff --git a/release/scripts/disp_paint.py b/release/scripts/disp_paint.py
index e5ce81f65f3..da255a446c0 100644
--- a/release/scripts/disp_paint.py
+++ b/release/scripts/disp_paint.py
@@ -280,7 +280,7 @@ def NEWMEcreation(obj):
for ozero in OBJ:
if ozero.getType()=='Mesh':
- namelist.append(ozero.getData().name)
+ namelist.append(ozero.getData(name_only=1))
ozero=obj
nomdelobjet=ozero.getName()
diff --git a/release/scripts/envelope_symmetry.py b/release/scripts/envelope_symmetry.py
index 5a4f7a31b3b..7031c1b72a9 100644
--- a/release/scripts/envelope_symmetry.py
+++ b/release/scripts/envelope_symmetry.py
@@ -103,13 +103,13 @@ def flipFace(v):
# return object with given object name (with variable parts) and mesh name
def getObjectByName(obj_name, mesh_name):
- objs = Blender.Object.Get()
+ objs = Blender.Scene.GetCurrent().getChildren() #Blender.Object.Get()
for obj in objs:
if obj.getType() == "Mesh":
# if obj.getName()[0:len(obj_name)] == obj_name and obj.getData().name == mesh_name:
# use only mesh_name so bone name and weight (in the envelope name)
# can be changed by the user and mirrored by the script.
- if obj.getData().name == mesh_name:
+ if obj.getData(name_only=1) == mesh_name:
return obj
return False
@@ -118,7 +118,7 @@ SUFFIX_LEN = len(REF_SUFFIX);
Blender.Window.EditMode(0)
count = 0
-objs = Blender.Object.Get()
+objs = Blender.Scene.GetCurrent().getChildren() #objs = Blender.Object.Get()
for obj in objs:
if obj.getType() != 'Mesh':
continue
diff --git a/release/scripts/export-iv-0.1.py b/release/scripts/export-iv-0.1.py
index 66fded7755b..f7abd3d2229 100644
--- a/release/scripts/export-iv-0.1.py
+++ b/release/scripts/export-iv-0.1.py
@@ -40,261 +40,262 @@ Note:
#
import Blender
-import os
-import math
+math_pi= 3.1415926535897931
def WriteHeader(file):
- file.write("#Inventor V2.1 ascii\n\n")
- file.write("Separator\n")
- file.write("{\n")
- file.write(" ShapeHints\n")
- file.write(" {\n")
- file.write(" vertexOrdering COUNTERCLOCKWISE\n")
- file.write(" }\n")
+ file.write("#Inventor V2.1 ascii\n\n")
+ file.write("Separator\n")
+ file.write("{\n")
+ file.write(" ShapeHints\n")
+ file.write(" {\n")
+ file.write(" vertexOrdering COUNTERCLOCKWISE\n")
+ file.write(" }\n")
def WriteFooter(file):
- file.write("}\n")
+ file.write("}\n")
def WriteMesh(file, object):
- file.write(" Separator\n")
- file.write(" {\n")
- file.write(" # %s\n" % object.getName())
- WriteMatrix(file, object)
- mesh = object.getData()
- WriteMaterials(file, mesh)
- WriteTexture(file, mesh)
- WriteNormals(file, mesh)
- WriteVertices(file, mesh)
- WriteFaces(file, mesh)
- file.write(" }\n")
+ file.write(" Separator\n")
+ file.write(" {\n")
+ file.write(" # %s\n" % object.getName())
+ WriteMatrix(file, object)
+ mesh = object.getData()
+ WriteMaterials(file, mesh)
+ WriteTexture(file, mesh)
+ WriteNormals(file, mesh)
+ WriteVertices(file, mesh)
+ WriteFaces(file, mesh)
+ file.write(" }\n")
def WriteMatrix(file, object):
- matrix = object.getMatrix()
- file.write(" MatrixTransform\n")
- file.write(" {\n")
- file.write(" matrix\n")
- for line in matrix:
- file.write(" %s %s %s %s\n" % (line[0], line[1], line[2], line[3]))
- file.write(" }\n")
+ matrix = object.getMatrix()
+ file.write(" MatrixTransform\n")
+ file.write(" {\n")
+ file.write(" matrix\n")
+ for line in matrix:
+ file.write(" %.6f %.6f %.6f %.6f\n" % (line[0], line[1], line[2], line[3]))
+ file.write(" }\n")
def WriteColors(file, mesh):
- file.write(" vertexProperty VertexProperty\n")
- file.write(" {\n")
- file.write(" orderedRGBA\n")
- file.write(" [\n")
- for face in mesh.faces:
- for I in range(len(face.v)):
- file.write(" 0x%02x%02x%02x%02x,\n" % (face.col[I].r,
- face.col[I].g, face.col[I].b, face.col[I].a))
- file.write(" ]\n")
- file.write(" materialBinding PER_VERTEX\n")
- file.write(" }\n")
+ file.write(" vertexProperty VertexProperty\n")
+ file.write(" {\n")
+ file.write(" orderedRGBA\n")
+ file.write(" [\n")
+ for face in mesh.faces:
+ for I in xrange(len(face)):
+ file.write(" 0x%02x%02x%02x%02x,\n" % (face.col[I].r,
+ face.col[I].g, face.col[I].b, face.col[I].a))
+ file.write(" ]\n")
+ file.write(" materialBinding PER_VERTEX\n")
+ file.write(" }\n")
def WriteMaterials(file, mesh):
- if mesh.materials:
- file.write(" Material\n")
- file.write(" {\n")
- file.write(" ambientColor\n")
- file.write(" [\n")
- for mat in mesh.materials:
- file.write(" %s %s %s,\n" % (mat.mirCol[0], mat.mirCol[1],
- mat.mirCol[2]))
- file.write(" ]\n")
- file.write(" diffuseColor\n")
- file.write(" [\n")
- for mat in mesh.materials:
- file.write(" %s %s %s,\n" % (mat.rgbCol[0], mat.rgbCol[1],
- mat.rgbCol[2]))
- file.write(" ]\n")
- file.write(" specularColor\n")
- file.write(" [\n")
- for mat in mesh.materials:
- file.write(" %s %s %s,\n" % (mat.specCol[0] * mat.spec / 2.0,
- mat.specCol[1] * mat.spec / 2.0, mat.specCol[2] * mat.spec / 2.0))
- file.write(" ]\n")
- file.write(" emissiveColor\n")
- file.write(" [\n")
- for mat in mesh.materials:
- file.write(" %s %s %s,\n" % (mat.rgbCol[0] * mat.emit,
- mat.rgbCol[1] * mat.emit, mat.rgbCol[0] * mat.emit))
- file.write(" ]\n")
- file.write(" shininess\n")
- file.write(" [\n")
- for mat in mesh.materials:
- file.write(" %s,\n" % (mat.hard / 255.0))
- file.write(" ]\n")
- file.write(" transparency\n")
- file.write(" [\n")
- for mat in mesh.materials:
- file.write(" %s,\n" % (1.0 - mat.alpha))
- file.write(" ]\n")
- file.write(" }\n")
- file.write(" MaterialBinding\n")
- file.write(" {\n")
- file.write(" value PER_FACE_INDEXED\n")
- file.write(" }\n")
+ if mesh.materials:
+ file.write(" Material\n")
+ file.write(" {\n")
+ file.write(" ambientColor\n")
+ file.write(" [\n")
+ for mat in mesh.materials:
+ file.write(" %.6f %.6f %.6f,\n" % (mat.mirCol[0], mat.mirCol[1],
+ mat.mirCol[2]))
+ file.write(" ]\n")
+ file.write(" diffuseColor\n")
+ file.write(" [\n")
+ for mat in mesh.materials:
+ file.write(" %.6f %.6f %.6f,\n" % (mat.rgbCol[0], mat.rgbCol[1],
+ mat.rgbCol[2]))
+ file.write(" ]\n")
+ file.write(" specularColor\n")
+ file.write(" [\n")
+ for mat in mesh.materials:
+ file.write(" %.6f %.6f %.6f,\n" % (mat.specCol[0] * mat.spec / 2.0,
+ mat.specCol[1] * mat.spec / 2.0, mat.specCol[2] * mat.spec / 2.0))
+ file.write(" ]\n")
+ file.write(" emissiveColor\n")
+ file.write(" [\n")
+ for mat in mesh.materials:
+ file.write(" %.6f %.6f %.6f,\n" % (mat.rgbCol[0] * mat.emit,
+ mat.rgbCol[1] * mat.emit, mat.rgbCol[0] * mat.emit))
+ file.write(" ]\n")
+ file.write(" shininess\n")
+ file.write(" [\n")
+ for mat in mesh.materials:
+ file.write(" %.6f,\n" % (mat.hard / 255.0))
+ file.write(" ]\n")
+ file.write(" transparency\n")
+ file.write(" [\n")
+ for mat in mesh.materials:
+ file.write(" %.6f,\n" % (1.0 - mat.alpha))
+ file.write(" ]\n")
+ file.write(" }\n")
+ file.write(" MaterialBinding\n")
+ file.write(" {\n")
+ file.write(" value PER_FACE_INDEXED\n")
+ file.write(" }\n")
def WriteTexture(file, mesh):
- texture = mesh.faces[0].image
- if texture:
- file.write(" Texture2\n")
- file.write(" {\n")
- file.write(' filename "%s"\n' % texture.getName())
- file.write(" }\n")
- file.write(" TextureCoordinate2\n")
- file.write(" {\n")
- file.write(" point\n")
- file.write(" [\n")
- if mesh.hasVertexUV():
- for vert in mesh.verts:
- file.write(" %s %s,\n" % (vert.uvco[0], vert.uvco[1]))
- file.write(" ]\n")
- file.write(" }\n")
- file.write(" TextureCoordinateBinding\n")
- file.write(" {\n")
- file.write(" value PER_VERTEX_INDEXED\n")
- file.write(" }\n")
- elif mesh.hasFaceUV():
- for face in mesh.faces:
- for uv in face.uv:
- file.write(" %s %s,\n" % (uv[0], uv[1]))
- file.write(" ]\n")
- file.write(" }\n")
- file.write(" TextureCoordinateBinding\n")
- file.write(" {\n")
- file.write(" value PER_VERTEX\n")
- file.write(" }\n")
+ texture = mesh.faces[0].image # BAD Ju Ju
+ if texture:
+ file.write(" Texture2\n")
+ file.write(" {\n")
+ file.write(' filename "%s"\n' % texture.getName())
+ file.write(" }\n")
+ file.write(" TextureCoordinate2\n")
+ file.write(" {\n")
+ file.write(" point\n")
+ file.write(" [\n")
+ if mesh.hasVertexUV():
+ for vert in mesh.verts:
+ file.write(" %s %s,\n" % (vert.uvco[0], vert.uvco[1]))
+ file.write(" ]\n")
+ file.write(" }\n")
+ file.write(" TextureCoordinateBinding\n")
+ file.write(" {\n")
+ file.write(" value PER_VERTEX_INDEXED\n")
+ file.write(" }\n")
+ elif mesh.hasFaceUV():
+ for face in mesh.faces:
+ for uv in face.uv:
+ file.write(" %.6f %.6f,\n" % (uv[0], uv[1]))
+ file.write(" ]\n")
+ file.write(" }\n")
+ file.write(" TextureCoordinateBinding\n")
+ file.write(" {\n")
+ file.write(" value PER_VERTEX\n")
+ file.write(" }\n")
def WriteVertices(file, mesh):
- file.write(" Coordinate3\n")
- file.write(" {\n")
- file.write(" point\n")
- file.write(" [\n")
- for vert in mesh.verts:
- file.write(" %s %s %s,\n" % (vert[0], vert[1], vert[2]))
- file.write(" ]\n")
- file.write(" }\n")
+ file.write(" Coordinate3\n")
+ file.write(" {\n")
+ file.write(" point\n")
+ file.write(" [\n")
+ for vert in mesh.verts:
+ file.write(" %.6f %.6f %.6f,\n" % (vert[0], vert[1], vert[2]))
+ file.write(" ]\n")
+ file.write(" }\n")
def WriteNormals(file, mesh):
- file.write(" Normal\n")
- file.write(" {\n")
- file.write(" vector\n")
- file.write(" [\n")
-
- # make copy of vertex normals
- normals = []
- for face in mesh.faces:
- if len(face.v) in [3, 4]:
- if face.smooth:
- for v in face.v:
- normals.append(v.no)
- else:
- for v in face.v:
- normals.append(face.no)
-
- # write normals
- for no in normals:
- file.write(" %s %s %s,\n" % (no[0], no[1], no[2]))
- file.write(" ]\n")
- file.write(" }\n")
-
- # write way how normals are binded
- file.write(" NormalBinding\n")
- file.write(" {\n")
- file.write(" value PER_VERTEX\n")
- file.write(" }\n")
+ file.write(" Normal\n")
+ file.write(" {\n")
+ file.write(" vector\n")
+ file.write(" [\n")
+
+ # make copy of vertex normals
+ normals = []
+ for face in mesh.faces:
+ if len(face.v) in [3, 4]:
+ if face.smooth:
+ for v in face.v:
+ normals.append(v.no)
+ else:
+ for v in face.v:
+ normals.append(face.no)
+
+ # write normals
+ for no in normals:
+ file.write(" %.6f %.6f %.6f,\n" % (no[0], no[1], no[2]))
+ file.write(" ]\n")
+ file.write(" }\n")
+
+ # write way how normals are binded
+ file.write(" NormalBinding\n")
+ file.write(" {\n")
+ file.write(" value PER_VERTEX\n")
+ file.write(" }\n")
def WriteFaces(file, mesh):
- file.write(" IndexedFaceSet\n")
- file.write(" {\n")
-
- # write vertex paint
- if mesh.hasVertexColours():
- WriteColors(file, mesh)
-
- # write material indexes
- file.write(" materialIndex\n")
- file.write(" [\n")
- for face in mesh.faces:
- file.write(" %s,\n" % (face.mat));
- file.write(" ]\n")
-
- # write faces with coordinate indexes
- file.write(" coordIndex\n")
- file.write(" [\n")
- for face in mesh.faces:
- if len(face.v) == 3:
- file.write(" %s, %s, %s, -1,\n" % (face.v[0].index,
- face.v[1].index, face.v[2].index))
- elif len(face.v) == 4:
- file.write(" %s, %s, %s, %s, -1,\n"% (face.v[0].index,
- face.v[1].index, face.v[2].index, face.v[3].index))
- file.write(" ]\n")
- file.write(" }\n")
+ file.write(" IndexedFaceSet\n")
+ file.write(" {\n")
+
+ # write vertex paint
+ if mesh.hasVertexColours():
+ WriteColors(file, mesh)
+
+ # write material indexes
+ file.write(" materialIndex\n")
+ file.write(" [\n")
+ for face in mesh.faces:
+ file.write(" %i,\n" % face.mat);
+ file.write(" ]\n")
+
+ # write faces with coordinate indexes
+ file.write(" coordIndex\n")
+ file.write(" [\n")
+ for face in mesh.faces:
+ face_v= face.v
+ if len(face_v) == 3:
+ file.write(" %i, %i, %i, -1,\n" % (face_v[0].index,
+ face_v[1].index, face_v[2].index))
+ elif len(face_v) == 4:
+ file.write(" %i, %i, %i, %i, -1,\n" % (face_v[0].index,
+ face_v[1].index, face_v[2].index, face_v[3].index))
+ file.write(" ]\n")
+ file.write(" }\n")
def WriteCamera(file, object):
- camera = object.getData();
- # perspective camera
- if camera.type == 0:
- file.write(" PerspectiveCamera\n")
- file.write(" {\n")
- file.write(" nearDistance %s\n" % (camera.clipStart))
- file.write(" farDistance %s\n" % (camera.clipEnd))
- file.write(" }\n")
- # ortho camera
- else:
- print camera.type
+ camera = object.getData();
+ # perspective camera
+ if camera.type == 0:
+ file.write(" PerspectiveCamera\n")
+ file.write(" {\n")
+ file.write(" nearDistance %s\n" % (camera.clipStart))
+ file.write(" farDistance %s\n" % (camera.clipEnd))
+ file.write(" }\n")
+ # ortho camera
+ else:
+ print camera.type
def WriteLamp(file, object):
- lamp = object.getData();
- # spot lamp
- if lamp.type == 2:
- file.write(" SpotLight\n")
- file.write(" {\n")
- file.write(" intensity %s\n" % (lamp.energy / 10.0))
- file.write(" color %s %s %s\n" % (lamp.col[0], lamp.col[1],
- lamp.col[2]))
- #file.write(" location %s\n" % ())
- #file.write(" direction %s\n" % ())
- file.write(" dropOffRate %s\n" % (lamp.spotBlend))
- file.write(" cutOffAngle %s\n" % (lamp.spotSize * math.pi / 180.0))
- file.write(" }\n")
+ lamp = object.getData();
+ # spot lamp
+ if lamp.type == 2:
+ file.write(" SpotLight\n")
+ file.write(" {\n")
+ file.write(" intensity %s\n" % (lamp.energy / 10.0))
+ file.write(" color %s %s %s\n" % (lamp.col[0], lamp.col[1],
+ lamp.col[2]))
+ #file.write(" location %s\n" % ())
+ #file.write(" direction %s\n" % ())
+ file.write(" dropOffRate %s\n" % (lamp.spotBlend))
+ file.write(" cutOffAngle %s\n" % (lamp.spotSize * math_pi / 180.0))
+ file.write(" }\n")
# script main function
def ExportToIv(file_name):
- scene = Blender.Scene.GetCurrent()
- file = open(file_name, "w")
-
- # make lists of individual object types
- meshes = []
- lamps = []
- cameras = []
- for object in Blender.Object.Get():
- if object.getType() == "Mesh":
- meshes.append(object);
- elif object.getType() == "Lamp":
- lamps.append(object);
- elif object.getType() == "Camera":
- cameras.append(object);
- else:
- print "Exporting %s objects isn't supported!" % object.getType()
-
- # write header, footer and groups of object types
- WriteHeader(file);
- #for camera in cameras:
- # WriteCamera(file, camera);
- #for lamp in lamps:
- # WriteLamp(file, lamp)
- for mesh in meshes:
- WriteMesh(file, mesh)
- WriteFooter(file)
-
- file.close()
+ scene = Blender.Scene.GetCurrent()
+ file = open(file_name, "w")
+
+ # make lists of individual object types
+ meshes = []
+ lamps = []
+ cameras = []
+ for object in scene.getChildren():
+ obtype= object.getType()
+ if obtype == "Mesh":
+ meshes.append(object);
+ #elif obtype == "Lamp":
+ # lamps.append(object);
+ #elif obtype == "Camera":
+ # cameras.append(object);
+ #else:
+ # print "Exporting %s objects isn't supported!" % object.getType()
+
+ # write header, footer and groups of object types
+ WriteHeader(file);
+ #for camera in cameras:
+ # WriteCamera(file, camera);
+ #for lamp in lamps:
+ # WriteLamp(file, lamp)
+ for mesh in meshes:
+ WriteMesh(file, mesh)
+ WriteFooter(file)
+
+ file.close()
def FileSelectorCB(file_name):
- if(file_name.find('.iv', -3) <= 0):
- file_name += '.iv'
- ExportToIv(file_name)
+ if not file_name.lower().endswith('.iv'):
+ file_name += '.iv'
+ ExportToIv(file_name)
-Blender.Window.FileSelector(FileSelectorCB, "Export IV")
+Blender.Window.FileSelector(FileSelectorCB, "Export IV", Blender.sys.makename(ext='.iv'))
diff --git a/release/scripts/xsi_export.py b/release/scripts/xsi_export.py
index 0f31024c799..c180dac6cdf 100644
--- a/release/scripts/xsi_export.py
+++ b/release/scripts/xsi_export.py
@@ -1210,7 +1210,7 @@ def export_xsi(filename):
#OBJ = Blender.Object.GetSelected()
#if not OBJ:
- OBJ = Blender.Object.Get()
+ OBJ = Blender.Scene.GetCurrent().getChildren() #Blender.Object.Get()
# we need some objects, if none specified stop
if not OBJ: