kfbxskeleton.h
Go to the documentation of this file.00001
00004 #ifndef _FBXSDK_SKELETON_H_
00005 #define _FBXSDK_SKELETON_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 <klib/kerror.h>
00050
00051 #include <kfbxplugins/kfbxnodeattribute.h>
00052 #include <kfbxplugins/kfbxcolor.h>
00053
00054 #include <fbxfilesdk_nsbegin.h>
00055
00056 class KFbxSdkManager;
00057 class KFbxSkeleton_internal;
00058
00062 class KFBX_DLL KFbxSkeleton : public KFbxNodeAttribute
00063 {
00064 KFBXOBJECT_DECLARE(KFbxSkeleton);
00065
00066 public:
00068 virtual EAttributeType GetAttributeType() const;
00069
00071 void Reset();
00072
00077
00089 typedef enum
00090 {
00091 eROOT,
00092 eLIMB,
00093 eLIMB_NODE,
00094 eEFFECTOR
00095 } ESkeletonType;
00096
00100 void SetSkeletonType(ESkeletonType pSkeletonType);
00101
00105 ESkeletonType GetSkeletonType() const;
00106
00112 bool GetSkeletonTypeIsSet() const;
00113
00117 ESkeletonType GetSkeletonTypeDefaultValue() const;
00118
00124 bool SetLimbLength(double pLength);
00125
00130 double GetLimbLength() const;
00131
00137 bool GetLimbLengthIsSet() const;
00138
00142 double GetLimbLengthDefaultValue() const;
00143
00147 bool SetLimbNodeSize(double pSize);
00148
00152 double GetLimbNodeSize() const;
00153
00159 bool GetLimbNodeSizeIsSet() const;
00160
00164 double GetLimbNodeSizeDefaultValue() const;
00165
00171 bool SetLimbNodeColor(const KFbxColor& pColor);
00172
00177 KFbxColor GetLimbNodeColor() const;
00178
00184 bool GetLimbNodeColorIsSet() const;
00185
00189 KFbxColor GetLimbNodeColorDefaultValue() const;
00190
00192
00194
00195
00196
00197
00198
00199
00201
00202 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00203
00204 public:
00205
00206 virtual KObject* GetFbxObject_internal();
00207 virtual KObject const* GetFbxObject_internal() const;
00208
00209
00210 virtual KFbxObject* Clone(KFbxObject::ECloneType pCloneType) const;
00211
00212 protected:
00213 static char const* GetNamePrefix() { return 0; }
00214
00215 KFbxSkeleton(KFbxSdkManager& pManager, char const* pName);
00216 ~KFbxSkeleton();
00217
00218 virtual void Destruct(bool pRecursive, bool pDependents);
00219
00221 KFbxSkeleton& operator=(KFbxSkeleton const& pSkeleton);
00222
00223 virtual KString GetTypeName() const;
00224 virtual KStringList GetTypeFlags() const;
00225
00226
00227 KFbxSkeleton_internal* mPH;
00228
00229 ESkeletonType mSkeletonType;
00230
00231 bool mLimbLengthIsSet;
00232 bool mLimbNodeSizeIsSet;
00233 bool mLimbNodeColorIsSet;
00234 bool mSkeletonTypeIsSet;
00235
00236 friend class KFbxReaderFbx;
00237 friend class KFbxWriterFbx;
00238
00239 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00240
00241 };
00242
00243 typedef KFbxSkeleton* HKFbxSkeleton;
00244
00245 #include <fbxfilesdk_nsend.h>
00246
00247 #endif // #ifndef _FBXSDK_SKELETON_H_
00248
00249