00001 /**************************************************************************************** 00002 00003 Copyright (C) 2013 Autodesk, Inc. 00004 All rights reserved. 00005 00006 Use of this software is subject to the terms of the Autodesk license agreement 00007 provided at the time of installation or download, or which otherwise accompanies 00008 this software in either electronic or hard copy form. 00009 00010 ****************************************************************************************/ 00011 00013 #ifndef _FBXSDK_SCENE_ANIMATION_LAYER_H_ 00014 #define _FBXSDK_SCENE_ANIMATION_LAYER_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/scene/fbxcollection.h> 00019 00020 #include <fbxsdk/fbxsdk_nsbegin.h> 00021 00022 class FbxAnimCurveNode; 00023 00030 class FBXSDK_DLL FbxAnimLayer : public FbxCollection 00031 { 00032 FBXSDK_OBJECT_DECLARE(FbxAnimLayer, FbxCollection); 00033 00034 public: 00036 // 00037 // Properties 00038 // 00040 00047 FbxPropertyT<FbxDouble> Weight; 00048 00054 FbxPropertyT<FbxBool> Mute; 00055 00062 FbxPropertyT<FbxBool> Solo; 00063 00070 FbxPropertyT<FbxBool> Lock; 00071 00079 FbxPropertyT<FbxDouble3> Color; 00080 00087 FbxPropertyT<FbxEnum> BlendMode; 00088 00096 FbxPropertyT<FbxEnum> RotationAccumulationMode; 00097 00105 FbxPropertyT<FbxEnum> ScaleAccumulationMode; 00106 00108 void Reset(); 00109 00119 00125 void SetBlendModeBypass(EFbxType pType, bool pState); 00126 00131 bool GetBlendModeBypass(EFbxType pType); 00132 00134 00135 00138 enum EBlendMode 00139 { 00140 eBlendAdditive, 00141 eBlendOverride, 00142 eBlendOverridePassthrough 00149 }; 00150 00153 enum ERotationAccumulationMode 00154 { 00155 eRotationByLayer, 00156 eRotationByChannel 00157 }; 00158 00161 enum EScaleAccumulationMode 00162 { 00163 eScaleMultiply, 00164 eScaleAdditive 00165 }; 00166 00179 FbxAnimCurveNode* CreateCurveNode(FbxProperty& pProperty); 00181 00182 /***************************************************************************************************************************** 00183 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** 00184 *****************************************************************************************************************************/ 00185 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00186 protected: 00187 virtual void ConstructProperties(bool pForceSet); 00188 virtual FbxAnimLayer* GetAnimLayer(); 00189 00190 private: 00191 FbxPropertyT<FbxULongLong> mBlendModeBypass; 00192 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ 00193 }; 00194 00195 #include <fbxsdk/fbxsdk_nsend.h> 00196 00197 #endif /* _FBXSDK_SCENE_ANIMATION_LAYER_H_ */