- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxanimevalclassic.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_EVALUATOR_CLASSIC_H_
    00014 #define _FBXSDK_SCENE_ANIMATION_EVALUATOR_CLASSIC_H_
    00015
    00016 #include <fbxsdk/fbxsdk_def.h>
    00017
    00018 #include <fbxsdk/core/fbxobject.h>
    00019 #include <fbxsdk/scene/animation/fbxanimevaluator.h>
    00020 #include <fbxsdk/scene/animation/fbxanimlayer.h>
    00021
    00022 #include <fbxsdk/fbxsdk_nsbegin.h>
    00023
    00032 class FBXSDK_DLL FbxAnimEvalClassic : public FbxAnimEvaluator
    00033 {
    00034     FBXSDK_OBJECT_DECLARE(FbxAnimEvalClassic, FbxAnimEvaluator);
    00035
    00036 public:
    00038 //
    00039 //  WARNING!
    00040 //
    00041 //    Anything beyond these lines may not be documented accurately and is
    00042 //     subject to change without notice.
    00043 //
    00045 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00046 protected:
    00047     virtual void EvaluateNodeTransform(FbxNodeEvalState* pResult, FbxNode* pNode, FbxTime pTime, FbxAnimStack* pStack, FbxNode::EPivotSet pPivotSet, bool pApplyTarget);
    00048     virtual void EvaluatePropertyValue(FbxAnimCurveNode* pResult, FbxProperty& pProperty, FbxTime pTime, FbxAnimStack* pStack);
    00049
    00050 private:
    00051     FbxAnimEvalClassic(FbxManager& pManager, char const* pName);
    00052     virtual void Destruct(bool pRecursive, bool pDependents);
    00053
    00054     enum EBlendType {eSimple, eRotation, eScaling};
    00055
    00066     void ComputeTRSLocal(FbxNodeEvalState* pResult, FbxNode* pNode, FbxTime pTime, FbxAnimStack* pStack);
    00067
    00081     void ComputeGlobalTransform(FbxNodeEvalState* pResult, FbxNode* pNode, FbxTime pTime, FbxAnimStack* pStack, FbxNode::EPivotSet pPivotSet, bool pApplyTarget);
    00082
    00096     void ComputeLocalTransform(FbxNodeEvalState* pResult, FbxNode* pNode, FbxTime pTime, FbxAnimStack* pStack, FbxNode::EPivotSet pPivotSet, bool pApplyTarget);
    00097
    00103     bool HasAnimationCurveNode(FbxProperty& pProperty, FbxAnimLayer* pAnimLayer);
    00104
    00118     void ComputeTRSAnimationLayer(FbxNodeEvalState* pResult, FbxNode* pNode, FbxVector4& pLT, FbxVector4& pLR, FbxVector4& pLS, FbxTime pTime, FbxAnimLayer* pLayer, bool pBlend);
    00119
    00130     void BlendPropertyEvalWithLayer(double* pResult, int pResultSize, FbxProperty& pProperty, FbxNodeEvalState* pEvalState, FbxTime pTime, FbxAnimLayer* pLayer, EBlendType pType);
    00131
    00142     void BlendSimple(double* pResult, int pResultSize, double* pApply, int pApplySize, double pWeight, FbxAnimLayer::EBlendMode pBlendMode);
    00143
    00156     void BlendRotation(double* pResult, int pResultSize, double* pApply, int pApplySize, double pWeight, FbxAnimLayer::EBlendMode pBlendMode, FbxAnimLayer::ERotationAccumulationMode pRotAccuMode, int pRotationOrder);
    00157
    00169     void BlendScaling(double* pResult, int pResultSize, double* pApply, int pApplySize, double pWeight, FbxAnimLayer::EBlendMode pBlendMode, FbxAnimLayer::EScaleAccumulationMode pScaleAccuMode);
    00170
    00171     double* mPropertyValues;
    00172     int     mPropertySize;
    00173
    00174     double* mCurveNodeEvalValues;
    00175     int     mCurveNodeEvalSize;
    00176
    00177 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00178 };
    00179
    00180 #include <fbxsdk/fbxsdk_nsend.h>
    00181
    00182 #endif /* _FBXSDK_SCENE_ANIMATION_EVALUATOR_CLASSIC_H_ */