[Bf-blender-cvs] [cf36527] master: Fix T44089: All addons do not use same default for orientations.

Bastien Montagne noreply at git.blender.org
Tue Mar 24 10:03:25 CET 2015


Commit: cf365275c21e24f7653c3843b0d3f2a169101f2a
Author: Bastien Montagne
Date:   Tue Mar 24 09:57:11 2015 +0100
Branches: master
https://developer.blender.org/rBcf365275c21e24f7653c3843b0d3f2a169101f2a

Fix T44089: All addons do not use same default for orientations.

Transformed 'OrientationHelper' class into 'orientation_helper_factory' function,
which returns an OrientationHelper customized class with specified default axes.

===================================================================

M	release/scripts/modules/bpy_extras/io_utils.py

===================================================================

diff --git a/release/scripts/modules/bpy_extras/io_utils.py b/release/scripts/modules/bpy_extras/io_utils.py
index 81de0d7..1dc6f5b 100644
--- a/release/scripts/modules/bpy_extras/io_utils.py
+++ b/release/scripts/modules/bpy_extras/io_utils.py
@@ -21,7 +21,7 @@
 __all__ = (
     "ExportHelper",
     "ImportHelper",
-    "OrientationHelper",
+    "orientation_helper_factory",
     "axis_conversion",
     "axis_conversion_ensure",
     "create_derived_objects",
@@ -117,13 +117,14 @@ class ImportHelper:
         return _check_axis_conversion(self)
 
 
-class OrientationHelper:
+def orientation_helper_factory(name, axis_forward='Y', axis_up='Z'):
+    members = {}
 
     def _update_axis_forward(self, context):
         if self.axis_forward[-1] == self.axis_up[-1]:
             self.axis_up = self.axis_up[0:-1] + 'XYZ'[('XYZ'.index(self.axis_up[-1]) + 1) % 3]
 
-    axis_forward = EnumProperty(
+    members['axis_forward'] = EnumProperty(
             name="Forward",
             items=(('X', "X Forward", ""),
                    ('Y', "Y Forward", ""),
@@ -132,7 +133,7 @@ class OrientationHelper:
                    ('-Y', "-Y Forward", ""),
                    ('-Z', "-Z Forward", ""),
                    ),
-            default='-Z',
+            default=axis_forward,
             update=_update_axis_forward,
             )
 
@@ -140,7 +141,7 @@ class OrientationHelper:
         if self.axis_up[-1] == self.axis_forward[-1]:
             self.axis_forward = self.axis_forward[0:-1] + 'XYZ'[('XYZ'.index(self.axis_forward[-1]) + 1) % 3]
 
-    axis_up = EnumProperty(
+    members['axis_up'] = EnumProperty(
             name="Up",
             items=(('X', "X Up", ""),
                    ('Y', "Y Up", ""),
@@ -149,10 +150,12 @@ class OrientationHelper:
                    ('-Y', "-Y Up", ""),
                    ('-Z', "-Z Up", ""),
                    ),
-            default='Y',
+            default=axis_up,
             update=_update_axis_up,
             )
 
+    return type(name, (object,), members)
+
 
 # Axis conversion function, not pretty LUT
 # use lookup table to convert between any axis




More information about the Bf-blender-cvs mailing list