diff --git a/io_anim_bvh/export_bvh.py b/io_anim_bvh/export_bvh.py index 6ee688be6a59befdc934f7b228621a200598bd95..c6173b6a01080b8527460084d57d6111244fa08f 100644 --- a/io_anim_bvh/export_bvh.py +++ b/io_anim_bvh/export_bvh.py @@ -141,21 +141,21 @@ def write_armature(context, # so we can write motion class DecoratedBone(object): - __slots__ = (\ - "name", # bone name, used as key in many places - "parent", # decorated bone parent, set in a later loop - "rest_bone", # blender armature bone - "pose_bone", # blender pose bone - "pose_mat", # blender pose matrix - "rest_arm_mat", # blender rest matrix (armature space) - "rest_local_mat", # blender rest batrix (local space) - "pose_imat", # pose_mat inverted - "rest_arm_imat", # rest_arm_mat inverted - "rest_local_imat", # rest_local_mat inverted - "prev_euler", # last used euler to preserve euler compability in between keyframes - "connected", # is the bone connected to the parent bone? - "rot_order", - "rot_order_str", + __slots__ = ( + "name", # bone name, used as key in many places + "parent", # decorated bone parent, set in a later loop + "rest_bone", # blender armature bone + "pose_bone", # blender pose bone + "pose_mat", # blender pose matrix + "rest_arm_mat", # blender rest matrix (armature space) + "rest_local_mat", # blender rest batrix (local space) + "pose_imat", # pose_mat inverted + "rest_arm_imat", # rest_arm_mat inverted + "rest_local_imat", # rest_local_mat inverted + "prev_euler", # last used euler to preserve euler compability in between keyframes + "connected", # is the bone connected to the parent bone? + "rot_order", + "rot_order_str", ) _eul_order_lookup = { diff --git a/io_scene_3ds/__init__.py b/io_scene_3ds/__init__.py index e7934afc885071eaf7aebbb28bc8608970ccb8b7..2206c20ddf654ffff7aa29fbd76edc3f509ce445 100644 --- a/io_scene_3ds/__init__.py +++ b/io_scene_3ds/__init__.py @@ -43,7 +43,12 @@ if "bpy" in locals(): import bpy from bpy.props import StringProperty, FloatProperty, BoolProperty, EnumProperty -from bpy_extras.io_utils import ImportHelper, ExportHelper, axis_conversion + +from bpy_extras.io_utils import (ImportHelper, + ExportHelper, + axis_conversion, + axis_conversion_ensure, + ) class Import3DS(bpy.types.Operator, ImportHelper): @@ -82,6 +87,9 @@ class Import3DS(bpy.types.Operator, ImportHelper): default='Z', ) + def check(self, context): + return axis_conversion_ensure(self, "axis_forward", "axis_up") + def execute(self, context): from . import import_3ds @@ -127,6 +135,9 @@ class Export3DS(bpy.types.Operator, ExportHelper): default='Z', ) + def check(self, context): + return axis_conversion_ensure(self, "axis_forward", "axis_up") + def execute(self, context): from . import export_3ds diff --git a/io_scene_fbx/__init__.py b/io_scene_fbx/__init__.py index a805f713410fa46b4cf9592a60d1420d49267085..d17e2dd560d5a084538944ad2251d9bda86c7626 100644 --- a/io_scene_fbx/__init__.py +++ b/io_scene_fbx/__init__.py @@ -41,7 +41,12 @@ if "bpy" in locals(): import bpy from bpy.props import StringProperty, BoolProperty, FloatProperty, EnumProperty -from bpy_extras.io_utils import ExportHelper, path_reference_mode, axis_conversion + +from bpy_extras.io_utils import (ExportHelper, + path_reference_mode, + axis_conversion, + axis_conversion_ensure, + ) class ExportFBX(bpy.types.Operator, ExportHelper): @@ -132,6 +137,9 @@ class ExportFBX(bpy.types.Operator, ExportHelper): def check_extension(self): return self.batch_mode == 'OFF' + def check(self, context): + return axis_conversion_ensure(self, "axis_forward", "axis_up") + def execute(self, context): from mathutils import Matrix if not self.filepath: diff --git a/io_scene_map/__init__.py b/io_scene_map/__init__.py index d329599881fd9c2c736220ff690d4dc62a89bbee..a9610ef5c2180f9374181e27f66bc26a1f762a56 100644 --- a/io_scene_map/__init__.py +++ b/io_scene_map/__init__.py @@ -53,6 +53,11 @@ class ExportMAP(bpy.types.Operator, ExportHelper): filename_ext = ".map" filter_glob = StringProperty(default="*.map", options={'HIDDEN'}) + ''' + def check(self, context): + return axis_conversion_ensure(self, "axis_forward", "axis_up") + ''' + def execute(self, context): # import math # from mathutils import Matrix diff --git a/io_scene_obj/__init__.py b/io_scene_obj/__init__.py index 694c618daefa2df4b89542234253895d84f77c73..cd8a855d6d22ac54a868a138c26e0957d79cacdb 100644 --- a/io_scene_obj/__init__.py +++ b/io_scene_obj/__init__.py @@ -43,7 +43,13 @@ if "bpy" in locals(): import bpy from bpy.props import BoolProperty, FloatProperty, StringProperty, EnumProperty -from bpy_extras.io_utils import ExportHelper, ImportHelper, path_reference_mode, axis_conversion + +from bpy_extras.io_utils import (ExportHelper, + ImportHelper, + path_reference_mode, + axis_conversion, + axis_conversion_ensure, + ) class ImportOBJ(bpy.types.Operator, ImportHelper): @@ -101,6 +107,9 @@ class ImportOBJ(bpy.types.Operator, ImportHelper): # fake prop, only disables split. # keep_vertex_order = BoolProperty(name="Keep Vert Order", description="Keep vert and face order, disables split options, enable for morph targets", default= True) + def check(self, context): + return axis_conversion_ensure(self, "axis_forward", "axis_up") + def execute(self, context): # print("Selected: " + context.active_object.name) from . import import_obj @@ -213,6 +222,9 @@ class ExportOBJ(bpy.types.Operator, ExportHelper): path_mode = path_reference_mode + def check(self, context): + return axis_conversion_ensure(self, "axis_forward", "axis_up") + def execute(self, context): from . import export_obj diff --git a/io_scene_x3d/__init__.py b/io_scene_x3d/__init__.py index c49a86a882f049102e38b3e1a9124cf709bdcd39..1d0841e00e1cfbcb16a8ee3c35319271605bc491 100644 --- a/io_scene_x3d/__init__.py +++ b/io_scene_x3d/__init__.py @@ -41,7 +41,12 @@ if "bpy" in locals(): import bpy from bpy.props import StringProperty, BoolProperty, EnumProperty -from bpy_extras.io_utils import ImportHelper, ExportHelper, axis_conversion, path_reference_mode +from bpy_extras.io_utils import (ImportHelper, + ExportHelper, + axis_conversion, + axis_conversion_ensure, + path_reference_mode, + ) class ImportX3D(bpy.types.Operator, ImportHelper): @@ -76,6 +81,9 @@ class ImportX3D(bpy.types.Operator, ImportHelper): default='Y', ) + def check(self, context): + return axis_conversion_ensure(self, "axis_forward", "axis_up") + def execute(self, context): from . import import_x3d @@ -128,6 +136,9 @@ class ExportX3D(bpy.types.Operator, ExportHelper): path_mode = path_reference_mode + def check(self, context): + return axis_conversion_ensure(self, "axis_forward", "axis_up") + def execute(self, context): from . import export_x3d