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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-07-18 09:09:07 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-07-18 09:09:07 +0400
commit34680d1f7b31f59cacb10f3782fd100bbf503b3d (patch)
tree1ebd6ceb492e0e8395c38ea5aaf3d7496ab4d9cc
parentc406858e15028667e2e2a0e47ee3530eb6e65c45 (diff)
fix for invalid axis being allowed on import/export
-rw-r--r--io_anim_bvh/export_bvh.py30
-rw-r--r--io_scene_3ds/__init__.py13
-rw-r--r--io_scene_fbx/__init__.py10
-rw-r--r--io_scene_map/__init__.py5
-rw-r--r--io_scene_obj/__init__.py14
-rw-r--r--io_scene_x3d/__init__.py13
6 files changed, 66 insertions, 19 deletions
diff --git a/io_anim_bvh/export_bvh.py b/io_anim_bvh/export_bvh.py
index 6ee688be..c6173b6a 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 e7934afc..2206c20d 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 a805f713..d17e2dd5 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 d3295998..a9610ef5 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 694c618d..cd8a855d 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 c49a86a8..1d0841e0 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