fbxsdk/scene/geometry/fbxblendshapechannel.h Source File
 
 
 
fbxsdk/scene/geometry/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         const FbxShape* 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_ */