- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxanimlayer.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2012 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 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00183
    00184 //  WARNING!
    00185 //  Anything beyond these lines may not be documented accurately and is
    00186 //  subject to change without notice.
    00188 protected:
    00189     FbxAnimLayer(FbxManager& pManager, char const* pName, FbxError* pError=0);
    00190
    00191     virtual FbxAnimLayer* GetAnimLayer();
    00192
    00193 private:
    00194     bool ConstructProperties(bool pForceSet);
    00195
    00196     FbxPropertyT<FbxULongLong>  mBlendModeBypass;
    00197
    00198     mutable FbxError* mError;
    00199
    00200     friend class FbxObject;
    00201 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00202 };
    00203
    00204 #include <fbxsdk/fbxsdk_nsend.h>
    00205
    00206 #endif /* _FBXSDK_SCENE_ANIMATION_LAYER_H_ */