[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11496] trunk/blender/release/scripts/ bpymodules/colladaImEx/translator.py: removed depricated file for Collada import/export
Tom Musgrove
LetterRip at gmail.com
Mon Aug 6 00:10:05 CEST 2007
Revision: 11496
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11496
Author: letterrip
Date: 2007-08-06 00:09:45 +0200 (Mon, 06 Aug 2007)
Log Message:
-----------
removed depricated file for Collada import/export
Removed Paths:
-------------
trunk/blender/release/scripts/bpymodules/colladaImEx/translator.py
Deleted: trunk/blender/release/scripts/bpymodules/colladaImEx/translator.py
===================================================================
--- trunk/blender/release/scripts/bpymodules/colladaImEx/translator.py 2007-08-05 21:07:02 UTC (rev 11495)
+++ trunk/blender/release/scripts/bpymodules/colladaImEx/translator.py 2007-08-05 22:09:45 UTC (rev 11496)
@@ -1,3448 +0,0 @@
-# --------------------------------------------------------------------------
-# Illusoft Collada 1.4 plugin for Blender
-# --------------------------------------------------------------------------
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# Copyright (C) 2006: Illusoft - colladablender at illusoft.com
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License,
-# or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ***** END GPL LICENCE BLOCK *****
-# --------------------------------------------------------------------------
-
-from cutils import *
-import collada
-import Blender
-from Blender.Mathutils import *
-import math
-import datetime
-from helperObjects import *
-
-class Translator(object):
- isImporter = False
-
- def __init__(self, isImporter, version, debugM, fileName,_useTriangles, _usePolygons, _bakeMatrices, _exportSelection, _createNewScene, _clearScene, _lookAt, _exportPhysics, _exportCurrentScene, _exportRelativePaths, _useUV, _sampleAnimation, _onlyMainScene):
- global __version__, debugMode, usePhysics, useTriangles, usePolygons, bakeMatrices, exportSelection, createNewScene, clearScene, lookAt, replaceNames, exportPhysics, exportCurrentScene, useRelativePaths, useUV, sampleAnimation, onlyMainScene
- __version__ = version
- debugMode = debugM
- usePhysics = None
- useTriangles = _useTriangles
- usePolygons = _usePolygons
- bakeMatrices = _bakeMatrices
- exportSelection = _exportSelection
- createNewScene = _createNewScene
- clearScene = _clearScene
- lookAt = _lookAt
- exportPhysics = _exportPhysics
- usePhysics = _exportPhysics
- exportCurrentScene = _exportCurrentScene
- useRelativePaths = _exportRelativePaths
- useUV = _useUV
- sampleAnimation = _sampleAnimation
- onlyMainScene= _onlyMainScene
-
- replaceNames = clearScene
-
- self.isImporter = isImporter
- self.fileName = ''
- if self.isImporter:
- self.__Import(fileName)
- else:
- self.__Export(fileName)
-
- def __Import(self,fileName=''):
- documentTranslator = DocumentTranslator(fileName)
- documentTranslator.Import(fileName)
-
- def __Export(self,filename=''):
- documentTranslator = DocumentTranslator(filename)
- documentTranslator.Export(filename)
-
-
-class DocumentTranslator(object):
- isImport = None
- ids = []
- sceneGraph = None
-
- # Keep track of the layers on import
- layers = None
-
- cameraLibrary = None
-## geometryLibrary = None
- controllersLibrary = None
- animationsLibrary = None
-## materialLibrary = None
- texturesLibrary = None
- lampsLibrary = None
- colladaDocument = None
- scenesLibrary = None
- fps = 25
-
- def CreateID(self, name, typeName=None):
- if len(name) > 0 and not name[0].isalpha():
- name = "i"+name
-
- if not (name in self.ids):
- self.ids.append(name)
- return name
- else:
- tempName = name;
- if not(typeName is None) and name.rfind(typeName) >= 0:
- # Check for existing number at the end?
- return self.IncrementString(tempName, True)
- else:
- # First check if no Blender Object exists with the name 'tempName + typeName'
- if (tempName + typeName) in self.allBlenderNames:
- return self.IncrementString(tempName + typeName, True)
- else:
- return self.CreateID(tempName+typeName, typeName)
-
- def IncrementString(self, name, checkName):
- tempName = name;
- if name.rfind('.') >= 0:
- while tempName[-1:].isdigit():
- tempName = tempName[:-1]
- digitStr = name[-(len(name)-len(tempName)):]
- digit = 1
- if len(digitStr) > 0 and len(digitStr) != len(name):
- digit = int(digitStr)+1
- newName = tempName+str(digit).zfill(3)
- else:
- newName = name+'.001'
-
- if not (newName in self.ids) and (not checkName or not (newName in self.allBlenderNames)):
- self.ids.append(newName)
- return newName
- else:
- return self.IncrementString(newName, checkName)
-
- def __init__(self, fileName):
- global waitingControllers, armatures
- # Keep track of the controller that are waiting to be applied
- waitingControllers = dict()
- # Keep track of the armatures created
- armatures = dict()
-
- self.isImport = False
- self.scenesLibrary = ScenesLibrary(self)
- self.sceneGraph = SceneGraph(self)
- self.lampsLibrary = LampsLibrary(self)
- self.colladaDocument = None
- self.texturesLibrary = TexturesLibrary(self)
- self.camerasLibrary = CamerasLibrary(self)
- self.materialsLibrary = MaterialsLibrary(self)
- self.meshLibrary = MeshLibrary(self)
- self.animationsLibrary = AnimationsLibrary(self)
- self.controllersLibrary = ControllersLibrary(self)
-
- self.filename = None
- self.filePath = ''
-
-
- self.currentBScene = Blender.Scene.GetCurrent()
-
- self.progressCount = 0.4
- self.progressField = (1.0 - self.progressCount)
- self.progressStep = 0.0
- self.progressPartCount = 0.0
-
- self.tMatOLD = Matrix()
- self._zUpMatrix = Matrix()
- self._yUpMatrix = Matrix(
- [0,0,1,0],
- [1,0,0,0],
- [0,1,0,0],
- [0,0,0,1])
-
- self.axisTransformMatrix = Matrix()
- self.inverseAxisTransformMatrix = Matrix()
- self.orgAxiss = ["X","Y","Z"]
-
-
- def CreateNameForObject(self, name, replace, myType):
- if not replace:
- return name
-
- if myType == 'object':
- try:
- ob = Blender.Object.Get(name)
- ob.name = self.CreateNameForObject(self.IncrementString(ob.name, False), True, 'object')
- except ValueError:
- pass
- elif myType == 'mesh':
- try:
- mesh = Blender.Mesh.Get(name)
- if not mesh is None:
- mesh.name = self.CreateNameForObject(self.IncrementString(mesh.name, False), True, 'mesh')
- except ValueError:
- pass
- elif myType == 'armature':
- try:
- armature = Blender.Armature.Get(str(name))
- if not armature is None:
- armature.name = self.CreateNameForObject(self.IncrementString(armature.name, False), True, 'armature')
- except ValueError:
- pass
- elif myType == 'camera':
- try:
- camera = Blender.Camera.Get(str(name))
- if not camera is None:
- camera.name = self.CreateNameForObject(self.IncrementString(camera.name, False), True, 'camera')
- except NameError:
- pass
- elif myType == 'lamp':
- try:
- lamp = Blender.Lamp.Get(str(name))
- if not lamp is None:
- lamp.name = self.CreateNameForObject(self.IncrementString(lamp.name, False), True, 'lamp')
- except NameError:
- pass
-
- return name
-
- def Import(self, fileName):
- global debugMode, createNewScene
-
- self.filename = fileName
- self.filePath = Blender.sys.dirname(self.filename) + Blender.sys.sep
- self.isImport = True
- Blender.Window.EditMode(0)
- Blender.Window.DrawProgressBar(0.0, 'Starting Import')
-
- # Keep track of the 20 layers
- self.layers = [None for x in range(20)]
-
- if createNewScene:
- self.currentBScene = Blender.Scene.New('Scene')
- self.currentBScene.makeCurrent()
- else:
- self.currentBScene = Blender.Scene.GetCurrent()
-
- # Create a new Collada document
- Blender.Window.DrawProgressBar(0.1, 'Get Collada Document')
- self.colladaDocument = collada.DaeDocument(debugMode)
-
- # Setup the libraries
- self.camerasLibrary.SetDaeLibrary(self.colladaDocument.camerasLibrary)
- self.lampsLibrary.SetDaeLibrary(self.colladaDocument.lightsLibrary)
- self.texturesLibrary.SetDaeLibrary(self.colladaDocument.imagesLibrary)
- self.materialsLibrary.SetDaeLibrary(self.colladaDocument.materialsLibrary)
- self.meshLibrary.SetDaeLibrary(self.colladaDocument.geometriesLibrary)
- self.animationsLibrary.SetDaeLibrary(self.colladaDocument.animationsLibrary)
- self.controllersLibrary.SetDaeLibrary(self.colladaDocument.controllersLibrary)
-
- # Parse the COLLADA file
- self.colladaDocument.LoadDocumentFromFile(fileName)
-
- self.axiss = ["X", "Y", "Z"]
- if self.colladaDocument.asset.upAxis == collada.DaeSyntax.Y_UP:
- self.tMatOLD[0][0] = 0
- self.tMatOLD[1][1] = 0
- self.tMatOLD[2][2] = 0
- self.tMatOLD[0][1] = 1
- self.tMatOLD[1][2] = 1
- self.tMatOLD[2][0] = 1
- self.axiss = ["Y", "Z", "X"]
-
- if self.colladaDocument.asset.upAxis == collada.DaeSyntax.Y_UP:
- self.axisTransformMatrix = Matrix(self._yUpMatrix)
- self.axiss = ["Y", "Z", "X"]
-
- self.inverseAxisTransformMatrix = Matrix(self.axisTransformMatrix).invert()
-
-
-
- self.progressStep = self.progressField/(self.colladaDocument.GetItemCount()+1)
-
- # Get the animation info
- animations = AnimationInfo.CreateAnimations(self.animationsLibrary, self.fps, self.axiss)
-
- # Read the COLLADA stucture and build the scene in Blender.
- Blender.Window.DrawProgressBar(0.4, 'Translate Collada 2 Blender')
- self.sceneGraph.LoadFromCollada(self.colladaDocument.visualScenesLibrary.items, self.colladaDocument.scene)
-
- self.Progress()
-
- def CalcVector(self, vector):
- if self.colladaDocument.asset.upAxis == collada.DaeSyntax.Y_UP:
- return Vector(vector[2], vector[0], vector[1])
- else:
- return vector
-
-
- # Calculate the correct transform matrix dependent of the current UP axis.
- # When Up axis is Yup:
- # orgTrans * vecYup = newVecYup
- # newTrans * vecZup = newVecZup
- # vecZup = tMat * vecYUp
- # vecYup = invtMat * vecZup
- # newVecYup = orgTrans * vecYup = orgTrans * (invtMat * vecZup)
- # newVecZup = tMat * newVecYup = tMat * (orgTrans * (invtMat * vecZup))
- # newTrans = tMat * orgTrans * invtMat
- def CalcMatrix(self, matrix):
- if self.colladaDocument.asset.upAxis == collada.DaeSyntax.Y_UP:
- return self.axisTransformMatrix * matrix * self.inverseAxisTransformMatrix
- else:
- return matrix
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list