Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_SCENE_GEOMETRY_LOD_GROUP_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_LOD_GROUP_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/scene/geometry/fbxnodeattribute.h>
00019
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021
00022 class FbxManager;
00023
00056 class FBXSDK_DLL FbxLODGroup : public FbxNodeAttribute
00057 {
00058 FBXSDK_OBJECT_DECLARE(FbxLODGroup,FbxNodeAttribute);
00059
00060 public:
00062 virtual FbxNodeAttribute::EType GetAttributeType() const;
00063
00069 enum EDisplayLevel
00070 {
00071 eUseLOD,
00072 eShow,
00073 eHide
00074 };
00075
00077
00078
00079
00081
00092 FbxPropertyT<FbxBool> MinMaxDistance;
00093
00101 FbxPropertyT<FbxDouble> MinDistance;
00102
00110 FbxPropertyT<FbxDouble> MaxDistance;
00111
00123 FbxPropertyT<FbxBool> WorldSpace;
00124
00125
00127
00128
00129
00131
00136 int GetNumThresholds() const;
00137
00147 bool AddThreshold(FbxDistance pThreshValue);
00148
00154 bool SetThreshold(int pEl, FbxDistance pThreshValue);
00155
00162 bool GetThreshold(int pEl, FbxDistance& pThreshValue) const;
00163
00164
00169 int GetNumDisplayLevels() const;
00170
00186 bool AddDisplayLevel(FbxLODGroup::EDisplayLevel pValue);
00187
00193 bool SetDisplayLevel(int pEl, FbxLODGroup::EDisplayLevel pValue);
00194
00201 bool GetDisplayLevel(int pEl, FbxLODGroup::EDisplayLevel& pValue) const;
00202
00204
00205
00206
00207
00208
00209
00211 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00212 virtual FbxObject& Copy(const FbxObject& pObject);
00213
00214 protected:
00215 FbxLODGroup(FbxManager& pManager, char const* pName);
00216 virtual bool ConstructProperties(bool pForceSet);
00217
00218 private:
00219 int mNbThresholds;
00220 FbxProperty mThresholds;
00221 bool Threshold(int pEl, FbxDistance pThreshValue, bool pCreateNew);
00222
00223 int mNbDisplayLevels;
00224 FbxProperty mDisplayLevels;
00225 bool DisplayLevel(int pEl, FbxLODGroup::EDisplayLevel pValue, bool pCreateNew);
00226
00227 public:
00228 virtual FbxStringList GetTypeFlags() const;
00229 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00230 };
00231
00232 inline EFbxType FbxTypeOf(const FbxLODGroup::EDisplayLevel&){ return eFbxEnum; }
00233
00234 #include <fbxsdk/fbxsdk_nsend.h>
00235
00236 #endif