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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-09-01 16:18:17 +0400
committerJoshua Leung <aligorith@gmail.com>2009-09-01 16:18:17 +0400
commita44b9482603daaec9fa012714ddf4a1558c283fe (patch)
tree75d654db57c1ae3ce741b8655d9c21b688e5a2dd /source/blender/makesdna/DNA_action_types.h
parentd7a5cccb5bfc90c724d4771ec52bce9902a73b60 (diff)
2.5 - Rotation Orders for Bones [Durian Rigging Request]
This commit is the start of an implementation of (euler) rotation orders for Bones (later to be extended to Objects too). Technical details and references can be found at: http://wiki.blender.org/index.php/User:Aligorith/EulerRotationOrder In short, I've added a new set of Euler conversion functions (EulO... and ...EulO), coexisting with the old functions for now, which can handle different rotation orders. Changes have only been made to the basic evaluation code. However, the following places will still need modifications: * Transform code - needs to be made to use functions which take rotation order into account instead of using XYZ only * Rotation constraints - same story * Other rotation editing tools for armatures also need a check up, since there might have been some missing code when I ported eulers earlier
Diffstat (limited to 'source/blender/makesdna/DNA_action_types.h')
-rw-r--r--source/blender/makesdna/DNA_action_types.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index c9d75d5c262..474d5a4217f 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -199,8 +199,13 @@ typedef enum ePchan_IkFlag {
typedef enum ePchan_RotMode {
/* quaternion rotations (default, and for older Blender versions) */
PCHAN_ROT_QUAT = 0,
- /* euler rotations (xyz only) */
- PCHAN_ROT_EUL,
+ /* euler rotations - keep in sync with enum in BLI_arithb.h */
+ PCHAN_ROT_XYZ = 1, /* Blender 'default' (classic) - must be as 1 to sync with PoseChannel rotmode */
+ PCHAN_ROT_XZY,
+ PCHAN_ROT_YXZ,
+ PCHAN_ROT_YZX,
+ PCHAN_ROT_ZXY,
+ PCHAN_ROT_ZYX,
} ePchan_RotMode;
/* Pose ------------------------------------ */