[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4365] trunk/py/scripts/addons: add axis conversion to wrl export.
Campbell Barton
ideasman42 at gmail.com
Tue Mar 12 08:32:26 CET 2013
Revision: 4365
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4365
Author: campbellbarton
Date: 2013-03-12 07:32:25 +0000 (Tue, 12 Mar 2013)
Log Message:
-----------
add axis conversion to wrl export.
Modified Paths:
--------------
trunk/py/scripts/addons/io_scene_vrml2/__init__.py
trunk/py/scripts/addons/io_scene_vrml2/export_vrml2.py
trunk/py/scripts/addons/io_scene_x3d/__init__.py
Modified: trunk/py/scripts/addons/io_scene_vrml2/__init__.py
===================================================================
--- trunk/py/scripts/addons/io_scene_vrml2/__init__.py 2013-03-12 07:22:44 UTC (rev 4364)
+++ trunk/py/scripts/addons/io_scene_vrml2/__init__.py 2013-03-12 07:32:25 UTC (rev 4365)
@@ -40,7 +40,7 @@
import os
import bpy
from bpy.props import CollectionProperty, StringProperty, BoolProperty, EnumProperty
-from bpy_extras.io_utils import ExportHelper, path_reference_mode
+from bpy_extras.io_utils import ExportHelper, path_reference_mode, axis_conversion
class ExportVRML(bpy.types.Operator, ExportHelper):
"""Export mesh objects as a VRML2, """ \
@@ -80,6 +80,29 @@
default=True,
)
+ axis_forward = EnumProperty(
+ name="Forward",
+ items=(('X', "X Forward", ""),
+ ('Y', "Y Forward", ""),
+ ('Z', "Z Forward", ""),
+ ('-X', "-X Forward", ""),
+ ('-Y', "-Y Forward", ""),
+ ('-Z', "-Z Forward", ""),
+ ),
+ default='Z',
+ )
+ axis_up = EnumProperty(
+ name="Up",
+ items=(('X', "X Up", ""),
+ ('Y', "Y Up", ""),
+ ('Z', "Z Up", ""),
+ ('-X', "-X Up", ""),
+ ('-Y', "-Y Up", ""),
+ ('-Z', "-Z Up", ""),
+ ),
+ default='Y',
+ )
+
path_mode = path_reference_mode
@classmethod
@@ -91,7 +114,17 @@
filepath = self.filepath
filepath = bpy.path.ensure_ext(filepath, self.filename_ext)
from . import export_vrml2
- keywords = self.as_keywords(ignore=("check_existing", "filter_glob"))
+
+ keywords = self.as_keywords(ignore=("axis_forward",
+ "axis_up",
+ "check_existing",
+ "filter_glob",
+ ))
+ global_matrix = axis_conversion(to_forward=self.axis_forward,
+ to_up=self.axis_up,
+ ).to_4x4()
+ keywords["global_matrix"] = global_matrix
+
return export_vrml2.save(self, context, **keywords)
def draw(self, context):
@@ -106,6 +139,8 @@
row = layout.row()
row.active = self.use_color
row.prop(self, "color_type")
+ layout.prop(self, "axis_forward")
+ layout.prop(self, "axis_up")
layout.prop(self, "path_mode")
Modified: trunk/py/scripts/addons/io_scene_vrml2/export_vrml2.py
===================================================================
--- trunk/py/scripts/addons/io_scene_vrml2/export_vrml2.py 2013-03-12 07:22:44 UTC (rev 4364)
+++ trunk/py/scripts/addons/io_scene_vrml2/export_vrml2.py 2013-03-12 07:32:25 UTC (rev 4365)
@@ -165,7 +165,8 @@
return None
-def save_object(fw, scene, obj,
+def save_object(fw, global_matrix,
+ scene, obj,
use_mesh_modifiers,
use_color, color_type,
use_uv,
@@ -193,7 +194,7 @@
bm = bmesh.new()
bm.from_mesh(me)
- bm.transform(obj.matrix_world)
+ bm.transform(global_matrix * obj.matrix_world)
bmesh.ops.triangulate(bm, faces=bm.faces, use_beauty=True)
# default empty
@@ -232,6 +233,7 @@
def save(operator,
context,
filepath="",
+ global_matrix=None,
use_selection=False,
use_mesh_modifiers=True,
use_color=True,
@@ -257,7 +259,8 @@
for obj in objects:
if obj.type == 'MESH':
fw("\n# %r\n" % obj.name)
- save_object(fw, scene, obj,
+ save_object(fw, global_matrix,
+ scene, obj,
use_mesh_modifiers,
use_color, color_type,
use_uv,
Modified: trunk/py/scripts/addons/io_scene_x3d/__init__.py
===================================================================
--- trunk/py/scripts/addons/io_scene_x3d/__init__.py 2013-03-12 07:22:44 UTC (rev 4364)
+++ trunk/py/scripts/addons/io_scene_x3d/__init__.py 2013-03-12 07:32:25 UTC (rev 4365)
@@ -157,7 +157,6 @@
),
default='Z',
)
-
axis_up = EnumProperty(
name="Up",
items=(('X', "X Up", ""),
More information about the Bf-extensions-cvs
mailing list