00001
00004 #ifndef _FBXSDK_SKIN_H_
00005 #define _FBXSDK_SKIN_H_
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #include <kaydaradef.h>
00043 #ifndef KFBX_DLL
00044 #define KFBX_DLL K_DLLIMPORT
00045 #endif
00046
00047 #include <kaydara.h>
00048
00049 #include <kfbxplugins/kfbxdeformer.h>
00050 #include <kfbxmath/kfbxmatrix.h>
00051 #include <kfbxplugins/kfbxgroupname.h>
00052
00053 #include <klib/kerror.h>
00054
00055 #include <kbaselib_forward.h>
00056
00057 #include <fbxfilesdk_nsbegin.h>
00058
00059 class KFbxSdkManager;
00060 class KFbxGeometry;
00061 class KFbxCluster;
00062 class KFbxNode;
00063
00068 class KFBX_DLL KFbxSkin : public KFbxDeformer
00069 {
00070 KFBXOBJECT_DECLARE(KFbxSkin,KFbxDeformer);
00071
00072 public:
00076 void SetDeformAccuracy(double pDeformAccuracy);
00077
00081 double GetDeformAccuracy() const;
00082
00087 bool SetNode(KFbxNode* pNode);
00088
00092 KFbxNode* GetNode();
00093
00098 bool SetGeometry(KFbxGeometry* pGeometry);
00099
00103 KFbxGeometry* GetGeometry();
00104
00109 bool AddCluster(KFbxCluster* pCluster);
00110
00115 KFbxCluster* RemoveCluster(KFbxCluster* pCluster);
00116
00120 int GetClusterCount() const;
00121
00126 KFbxCluster* GetCluster(int pIndex);
00127
00132 KFbxCluster const* GetCluster(int pIndex) const;
00133
00137 EDeformerType GetDeformerType() const {return eSKIN; };
00138
00140
00141
00142
00143
00144
00145
00147
00148 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00149
00150
00151 virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const;
00152
00153 protected:
00154
00155 KFbxSkin(KFbxSdkManager& pManager, char const* pName);
00156 virtual ~KFbxSkin();
00157
00158 virtual void Destruct(bool pRecursive, bool pDependents);
00159
00161 KFbxSkin& operator = (KFbxSkin const& pSkin);
00162
00163 virtual KString GetTypeName() const;
00164 virtual KStringList GetTypeFlags() const;
00165
00166
00167 double mDeformAccuracy;
00168
00169 friend class KFbxReaderFbx;
00170 friend class KFbxReaderFbx6;
00171 friend struct KFbxReaderFbx7Impl;
00172 friend class KFbxWriterFbx;
00173 friend class KFbxWriterFbx6;
00174 friend struct KFbxWriterFbx7Impl;
00175 friend class KFbxScene;
00176
00177 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00178 };
00179
00180 typedef KFbxSkin* HKFbxSkin;
00181
00182 #include <fbxfilesdk_nsend.h>
00183
00184 #endif // _FBXSDK_SKIN_H_
00185
00186