From 391a69e68b734864601564f7cd3d8500a293c6ee Mon Sep 17 00:00:00 2001 From: Alexander Gessler Date: Sat, 11 Aug 2012 01:57:32 +0200 Subject: [PATCH] - fbx: extend DOM to include the declarations for FBX' rotation order and inheritance enums. --- code/FBXDocument.h | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/code/FBXDocument.h b/code/FBXDocument.h index 4d717b62f..07f474955 100644 --- a/code/FBXDocument.h +++ b/code/FBXDocument.h @@ -339,6 +339,32 @@ public: Model(uint64_t id, const Element& element, const Document& doc, const std::string& name); ~Model(); +public: + + enum RotOrder + { + RotOrder_EulerXYZ = 0, + RotOrder_EulerXZY, + RotOrder_EulerYZX, + RotOrder_EulerYXZ, + RotOrder_EulerZXY, + RotOrder_EulerZYX, + + RotOrder_SphericXYZ, + + RotOrder_MAX // end-of-enum sentinel + }; + + + enum TransformInheritance + { + TransformInheritance_RrSs = 0, + TransformInheritance_RSrs, + TransformInheritance_Rrs, + + TransformInheritance_MAX // end-of-enum sentinel + }; + public: fbx_simple_property(QuaternionInterpolate, int, 0); @@ -359,7 +385,7 @@ public: fbx_simple_property(TranslationMinZ, bool, false); fbx_simple_property(TranslationMaxZ, bool, false); - fbx_simple_property(RotationOrder, int, 0); + fbx_simple_enum_property(RotationOrder, RotOrder, 0); fbx_simple_property(RotationSpaceForLimitOnly, bool, false); fbx_simple_property(RotationStiffnessX, float, 0.0f); fbx_simple_property(RotationStiffnessY, float, 0.0f); @@ -379,7 +405,7 @@ public: fbx_simple_property(RotationMaxY, bool, false); fbx_simple_property(RotationMinZ, bool, false); fbx_simple_property(RotationMaxZ, bool, false); - fbx_simple_property(InheritType, int, 0); + fbx_simple_enum_property(InheritType, TransformInheritance, 0); fbx_simple_property(ScalingActive, bool, false); fbx_simple_property(ScalingMin, aiVector3D, aiVector3D());