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:
Diffstat (limited to 'rigify/rot_mode.py')
-rw-r--r--rigify/rot_mode.py77
1 files changed, 35 insertions, 42 deletions
diff --git a/rigify/rot_mode.py b/rigify/rot_mode.py
index e30e28d1..9abfecea 100644
--- a/rigify/rot_mode.py
+++ b/rigify/rot_mode.py
@@ -38,8 +38,10 @@ blender.stackexchange.com/questions/40711/how-to-convert-quaternions-keyframes-t
# "category": "Animation"}
import bpy
-
-order_list = ['QUATERNION', 'XYZ', 'XZY', 'YXZ', 'YZX', 'ZXY', 'ZYX']
+from bpy.props import (
+ BoolProperty,
+ EnumProperty,
+)
class convert():
@@ -219,32 +221,10 @@ class convert():
convert = convert()
-# def initSceneProperties(scn):
-#
-# bpy.types.Scene.order_list = bpy.props.EnumProperty(
-# items = [('QUATERNION', 'QUATERNION', 'QUATERNION' ),
-# ('XYZ', 'XYZ', 'XYZ' ),
-# ('XZY', 'XZY', 'XZY' ),
-# ('YXZ', 'YXZ', 'YXZ' ),
-# ('YZX', 'YZX', 'YZX' ),
-# ('ZXY', 'ZXY', 'ZXY' ),
-# ('ZYX', 'ZYX', 'ZYX' ) ],
-# name = "Order",
-# description = "The target rotation mode")
-#
-# scn['order_list'] = 0
-#
-# return
-#
-# initSceneProperties(bpy.context.scene)
-
-
-# GUI (Panel)
-#
class ToolsPanel(bpy.types.Panel):
bl_space_type = 'VIEW_3D'
- bl_region_type = 'TOOLS'
- bl_category = "Tools"
+ bl_region_type = 'UI'
+ bl_category = 'View'
bl_context = "posemode"
bl_label = 'Rigify Quat/Euler Converter'
@@ -290,7 +270,7 @@ class CONVERT_OT_quat2eu_current_action(bpy.types.Operator):
obj = bpy.context.active_object
pose_bones = bpy.context.selected_pose_bones
action = obj.animation_data.action
- order = order_list[bpy.context.scene['order_list']]
+ order = bpy.context.scene.order_list
id_store = context.window_manager
if id_store.rigify_convert_only_selected:
@@ -315,7 +295,7 @@ class CONVERT_OT_quat2eu_all_actions(bpy.types.Operator):
def execute(op, context):
obj = bpy.context.active_object
pose_bones = bpy.context.selected_pose_bones
- order = order_list[bpy.context.scene['order_list']]
+ order = bpy.context.scene.order_list
id_store = context.window_manager
if id_store.rigify_convert_only_selected:
@@ -326,9 +306,19 @@ class CONVERT_OT_quat2eu_all_actions(bpy.types.Operator):
return {'FINISHED'}
+### Registering ###
+
+classes = (
+ ToolsPanel,
+ CONVERT_OT_quat2eu_current_action,
+ CONVERT_OT_quat2eu_all_actions,
+)
+
+
def register():
- IDStore = bpy.types.WindowManager
+ from bpy.utils import register_class
+ # Properties.
items = [('QUATERNION', 'QUATERNION', 'QUATERNION'),
('XYZ', 'XYZ', 'XYZ'),
('XZY', 'XZY', 'XZY'),
@@ -336,24 +326,27 @@ def register():
('YZX', 'YZX', 'YZX'),
('ZXY', 'ZXY', 'ZXY'),
('ZYX', 'ZYX', 'ZYX')]
+ bpy.types.Scene.order_list = EnumProperty(
+ items=items, name='Convert to',
+ description="The target rotation mode", default='QUATERNION')
- bpy.types.Scene.order_list = bpy.props.EnumProperty(items=items, name='Convert to',
- description="The target rotation mode", default='QUATERNION')
+ IDStore = bpy.types.WindowManager
+ IDStore.rigify_convert_only_selected = BoolProperty(
+ name="Convert Only Selected",
+ description="Convert selected bones only", default=True)
- IDStore.rigify_convert_only_selected = bpy.props.BoolProperty(
- name="Convert Only Selected", description="Convert selected bones only", default=True)
+ # Classes.
+ for cls in classes:
+ register_class(cls)
- bpy.utils.register_class(ToolsPanel)
- bpy.utils.register_class(CONVERT_OT_quat2eu_current_action)
- bpy.utils.register_class(CONVERT_OT_quat2eu_all_actions)
def unregister():
- IDStore = bpy.types.WindowManager
+ from bpy.utils import unregister_class
- bpy.utils.unregister_class(ToolsPanel)
- bpy.utils.unregister_class(CONVERT_OT_quat2eu_current_action)
- bpy.utils.unregister_class(CONVERT_OT_quat2eu_all_actions)
+ # Classes.
+ for cls in classes:
+ unregister_class(cls)
+ # Properties.
+ IDStore = bpy.types.WindowManager
del IDStore.rigify_convert_only_selected
-
-# bpy.utils.register_module(__name__)