fbxblendshapechannel.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_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 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00022 class FbxShape;
00023 class FbxBlendShape;
00024 
00037 class FBXSDK_DLL FbxBlendShapeChannel : public FbxSubDeformer
00038 {
00039     FBXSDK_OBJECT_DECLARE(FbxBlendShapeChannel, FbxSubDeformer);
00040 
00041 public:
00049     FbxPropertyT<FbxDouble>        DeformPercent;
00050 
00055     bool SetBlendShapeDeformer(FbxBlendShape* pBlendShape);
00056 
00060     FbxBlendShape* GetBlendShapeDeformer();
00061 
00067     bool AddTargetShape(FbxShape* pShape, double pFullDeformPercent = 100);
00068 
00073     FbxShape* RemoveTargetShape(FbxShape* pShape);
00074 
00078     int GetTargetShapeCount() const;
00079 
00084     FbxShape* GetTargetShape(int pIndex);
00085 
00090     FbxShape const* GetTargetShape(int pIndex) const;
00091 
00096     int GetTargetShapeIndex( FbxShape* pShape);
00097 
00102     double* GetTargetShapeFullWeights();
00103 
00108     void SetFullWeightsCount(int pCount);
00109 
00117     EType GetSubDeformerType() const {return eBlendShapeChannel; };
00118 
00125     void Reset();
00126 
00127 
00128 /*****************************************************************************************************************************
00129 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00130 *****************************************************************************************************************************/
00131 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00132     virtual FbxObject& Copy(const FbxObject& pObject);
00133 
00134 protected:
00135     virtual void Construct(const FbxBlendShapeChannel* pFrom);
00136     virtual void ConstructProperties(bool pForceSet);
00137 
00138     virtual FbxStringList GetTypeFlags() const;
00139 
00140     //The full weights array of each shapes on this blend shape channel
00141     FbxArray<double> mShapeFullWeightArray;
00142 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00143 };
00144 
00145 #include <fbxsdk/fbxsdk_nsend.h>
00146 
00147 #endif /* _FBXSDK_SCENE_GEOMETRY_BLEND_SHAPE_CHANNEL_H_ */