- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxblendshapechannel.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_GEOMETRY_BLEND_SHAPE_CHANNEL_H_
    00014 #define _FBXSDK_SCENE_GEOMETRY_BLEND_SHAPE_CHANNEL_H_
    00015
    00016 #include <fbxsdk/fbxsdk_def.h>
    00017
    00018 #include <fbxsdk/scene/geometry/fbxsubdeformer.h>
    00019 #include <fbxsdk/scene/fbxgroupname.h>
    00020 #include <fbxsdk/core/math/fbxmatrix.h>
    00021
    00022 #include <fbxsdk/core/base/fbxerror.h>
    00023
    00024 #include <fbxsdk/fbxsdk_nsbegin.h>
    00025
    00026 class FbxManager;
    00027 class FbxBlendShape;
    00028 class FbxShape;
    00029
    00042 class FBXSDK_DLL FbxBlendShapeChannel : public FbxSubDeformer
    00043 {
    00044     FBXSDK_OBJECT_DECLARE(FbxBlendShapeChannel,FbxSubDeformer);
    00045
    00046 public:
    00054     FbxPropertyT<FbxDouble>        DeformPercent;
    00055
    00060     bool SetBlendShapeDeformer(FbxBlendShape* pBlendShape);
    00061
    00065     FbxBlendShape* GetBlendShapeDeformer();
    00066
    00072     bool AddTargetShape(FbxShape* pShape, double pFullDeformPercent = 100);
    00073
    00078     FbxShape* RemoveTargetShape(FbxShape* pShape);
    00079
    00083     int GetTargetShapeCount() const;
    00084
    00089     FbxShape* GetTargetShape(int pIndex);
    00090
    00095     FbxShape const* GetTargetShape(int pIndex) const;
    00096
    00101     int GetTargetShapeIndex( FbxShape* pShape);
    00102
    00107     double* GetTargetShapeFullWeights();
    00108
    00112     void SetFullWeightsCount(int pCount);
    00113
    00121     EType GetSubDeformerType() const {return eBlendShapeChannel; };
    00122
    00129     void Reset();
    00130
    00131
    00133 //
    00134 //  WARNING!
    00135 //
    00136 //  Anything beyond these lines may not be documented accurately and is
    00137 //  subject to change without notice.
    00138 //
    00140 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00141
    00142     virtual FbxObject& Copy(const FbxObject& pObject);
    00143
    00144 protected:
    00145     FbxBlendShapeChannel(FbxManager& pManager, char const* pName);
    00146
    00147     virtual void Construct(const FbxBlendShapeChannel* pFrom);
    00148     virtual bool ConstructProperties( bool pForceSet );
    00149
    00150     virtual FbxStringList GetTypeFlags() const;
    00151
    00152
    00153 protected:
    00154     // The full weights array of each shapes on this blend shape channel
    00155     FbxArray<double> mShapeFullWeightArray;
    00156
    00157     // Properties
    00158
    00159     friend class FbxScene;
    00160 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00161 };
    00162
    00163 #include <fbxsdk/fbxsdk_nsend.h>
    00164
    00165 #endif /* _FBXSDK_SCENE_GEOMETRY_BLEND_SHAPE_CHANNEL_H_ */