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_DEFORMER_H_ 00014 #define _FBXSDK_SCENE_GEOMETRY_DEFORMER_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/core/base/fbxerror.h> 00019 #include <fbxsdk/core/math/fbxmatrix.h> 00020 00021 #include <fbxsdk/core/fbxobject.h> 00022 00023 #include <fbxsdk/scene/fbxgroupname.h> 00024 00025 #include <fbxsdk/fbxsdk_nsbegin.h> 00026 00027 class FbxGeometry; 00028 class FbxManager; 00029 00047 class FBXSDK_DLL FbxDeformer : public FbxObject 00048 { 00049 FBXSDK_OBJECT_DECLARE(FbxDeformer,FbxObject); 00050 00051 public: 00062 void SetMultiLayer(bool pMultiLayer); 00063 00067 bool GetMultiLayer() const; 00069 00076 enum EDeformerType 00077 { 00078 eUnknown, 00079 eSkin, 00080 eBlendShape, 00081 eVertexCache 00082 }; 00083 00087 virtual EDeformerType GetDeformerType() const { return eUnknown; } 00089 00094 00098 FbxError& GetError(); 00099 00102 enum EErrorCode 00103 { 00104 eError, 00105 eErrorCount 00106 }; 00107 00111 EErrorCode GetLastErrorID() const; 00112 00116 const char* GetLastErrorString() const; 00117 00119 00120 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00121 00122 // 00123 // WARNING! 00124 // 00125 // Anything beyond these lines may not be documented accurately and is 00126 // subject to change without notice. 00127 // 00129 00130 protected: 00131 FbxDeformer(FbxManager& pManager, char const* pName); 00132 00133 virtual FbxStringList GetTypeFlags() const { return FbxStringList(); } 00134 00135 // Local 00136 FbxError mError; 00137 bool mMultiLayer; 00138 00139 friend class FbxGeometry; 00140 friend class FbxScene; 00141 #endif // DOXYGEN_SHOULD_SKIP_THIS 00142 }; 00143 00144 #include <fbxsdk/fbxsdk_nsend.h> 00145 00146 #endif /* _FBXSDK_SCENE_GEOMETRY_DEFORMER_H_ */