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_H_ 00014 #define _FBXSDK_SCENE_GEOMETRY_BLEND_SHAPE_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/core/base/fbxerror.h> 00019 #include <fbxsdk/core/math/fbxmatrix.h> 00020 #include <fbxsdk/scene/geometry/fbxdeformer.h> 00021 #include <fbxsdk/scene/fbxgroupname.h> 00022 00023 #include <fbxsdk/fbxsdk_nsbegin.h> 00024 00025 class FbxManager; 00026 class FbxGeometry; 00027 class FbxBlendShapeChannel; 00028 class FbxNode; 00029 00044 class FBXSDK_DLL FbxBlendShape : public FbxDeformer 00045 { 00046 FBXSDK_OBJECT_DECLARE(FbxBlendShape,FbxDeformer); 00047 00048 public: 00056 bool SetGeometry(FbxGeometry* pGeometry); 00057 00061 FbxGeometry* GetGeometry(); 00062 00067 bool AddBlendShapeChannel(FbxBlendShapeChannel* pBlendShapeChannel); 00068 00073 FbxBlendShapeChannel* RemoveBlendShapeChannel(FbxBlendShapeChannel* pBlendShapeChannel); 00074 00078 int GetBlendShapeChannelCount() const; 00079 00084 FbxBlendShapeChannel* GetBlendShapeChannel(int pIndex); 00085 00090 FbxBlendShapeChannel const* GetBlendShapeChannel(int pIndex) const; 00091 00095 EDeformerType GetDeformerType() const {return eBlendShape; }; 00096 00102 void Reset(); 00103 00105 // 00106 // WARNING! 00107 // 00108 // Anything beyond these lines may not be documented accurately and is 00109 // subject to change without notice. 00110 // 00112 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00113 00114 virtual FbxObject& Copy(const FbxObject& pObject); 00115 00116 protected: 00117 FbxBlendShape(FbxManager& pManager, char const* pName); 00118 00119 virtual FbxStringList GetTypeFlags() const; 00120 00121 friend class FbxScene; 00122 00123 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 00124 }; 00125 00126 #include <fbxsdk/fbxsdk_nsend.h> 00127 00128 #endif /* _FBXSDK_SCENE_GEOMETRY_BLEND_SHAPE_H_ */