fbxsdk/scene/animation/fbxanimlayer.h Source File
 
 
 
fbxsdk/scene/animation/fbxanimlayer.h
Go to the documentation of this file.
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_ */