00001
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXLODGROUP_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXLODGROUP_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 <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00043 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00044
00045 #include <fbxfilesdk/kfbxplugins/kfbxnodeattribute.h>
00046
00047 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00048
00049 class KFbxSdkManager;
00050
00054 class KFBX_DLL KFbxLodGroup : public KFbxNodeAttribute
00055 {
00056 KFBXOBJECT_DECLARE(KFbxLodGroup,KFbxNodeAttribute);
00057
00058 public:
00060 virtual EAttributeType GetAttributeType() const;
00061
00067 typedef enum {
00068 eUseLOD,
00069 eShow,
00070 eHide
00071 } EDisplayLevel;
00072
00074
00075
00076
00078
00086 KFbxTypedProperty<fbxBool1> MinMaxDistance;
00087
00095 KFbxTypedProperty<fbxDouble1> MinDistance;
00096
00104 KFbxTypedProperty<fbxDouble1> MaxDistance;
00105
00113 KFbxTypedProperty<fbxBool1> WorldSpace;
00114
00115
00117
00118
00119
00121
00125 int GetNumThresholds() const;
00126
00136 bool AddThreshold(fbxDistance pThreshValue);
00137
00143 bool SetThreshold(int pEl, fbxDistance pThreshValue);
00144
00151 bool GetThreshold(int pEl, fbxDistance& pThreshValue);
00152
00153
00157 int GetNumDisplayLevels() const;
00158
00168 bool AddDisplayLevel(KFbxLodGroup::EDisplayLevel pValue);
00169
00175 bool SetDisplayLevel(int pEl, KFbxLodGroup::EDisplayLevel pValue);
00176
00183 bool GetDisplayLevel(int pEl, KFbxLodGroup::EDisplayLevel& pValue);
00184
00186
00187
00188
00189
00190
00191
00193
00194 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00195
00196 public:
00197
00198 virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType = eDEEP_CLONE) const;
00199
00200 protected:
00201
00202 KFbxLodGroup(KFbxSdkManager& pManager, char const* pName);
00203
00204 virtual bool ConstructProperties(bool pForceSet);
00205
00207 KFbxLodGroup& operator=(KFbxLodGroup const& pLodGroup);
00208
00209 private:
00210 int mNbThresholds;
00211 KFbxProperty mThresholds;
00212 bool Threshold(int pEl, fbxDistance pThreshValue, bool pCreateNew);
00213
00214 int mNbDisplayLevels;
00215 KFbxProperty mDisplayLevels;
00216 bool DisplayLevel(int pEl, KFbxLodGroup::EDisplayLevel pValue, bool pCreateNew);
00217
00218 public:
00219 virtual KString GetTypeName() const;
00220 virtual KStringList GetTypeFlags() const;
00221 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00222 };
00223
00224 typedef KFbxLodGroup* HKFbxLodGroup;
00225 inline EFbxType FbxTypeOf( KFbxLodGroup::EDisplayLevel const &pItem ) { return eENUM; }
00226
00227 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00228
00229 #endif // FBXFILESDK_KFBXPLUGINS_KFBXLODGROUP_H
00230