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
00054 class FBXSDK_DLL FbxLODGroup : public FbxNodeAttribute
00055 {
00056 FBXSDK_OBJECT_DECLARE(FbxLODGroup, FbxNodeAttribute);
00057
00058 public:
00060 virtual FbxNodeAttribute::EType GetAttributeType() const;
00061
00067 enum EDisplayLevel
00068 {
00069 eUseLOD,
00070 eShow,
00071 eHide
00072 };
00073
00075
00076
00077
00079
00090 FbxPropertyT<FbxBool> MinMaxDistance;
00091
00099 FbxPropertyT<FbxDouble> MinDistance;
00100
00108 FbxPropertyT<FbxDouble> MaxDistance;
00109
00121 FbxPropertyT<FbxBool> WorldSpace;
00122
00123
00125
00126
00127
00129
00134 int GetNumThresholds() const;
00135
00145 bool AddThreshold(FbxDistance pThreshValue);
00146
00152 bool SetThreshold(int pEl, FbxDistance pThreshValue);
00153
00160 bool GetThreshold(int pEl, FbxDistance& pThreshValue) const;
00161
00162
00167 int GetNumDisplayLevels() const;
00168
00184 bool AddDisplayLevel(FbxLODGroup::EDisplayLevel pValue);
00185
00191 bool SetDisplayLevel(int pEl, FbxLODGroup::EDisplayLevel pValue);
00192
00199 bool GetDisplayLevel(int pEl, FbxLODGroup::EDisplayLevel& pValue) const;
00200
00201
00202
00203
00204 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00205 virtual FbxObject& Copy(const FbxObject& pObject);
00206
00207 protected:
00208 virtual void Construct(const FbxLODGroup* pFrom);
00209 virtual void ConstructProperties(bool pForceSet);
00210
00211 private:
00212 int mNbThresholds;
00213 FbxProperty mThresholds;
00214 bool Threshold(int pEl, FbxDistance pThreshValue, bool pCreateNew);
00215
00216 int mNbDisplayLevels;
00217 FbxProperty mDisplayLevels;
00218 bool DisplayLevel(int pEl, FbxLODGroup::EDisplayLevel pValue, bool pCreateNew);
00219
00220 public:
00221 virtual FbxStringList GetTypeFlags() const;
00222 #endif
00223 };
00224
00225 inline EFbxType FbxTypeOf(const FbxLODGroup::EDisplayLevel&){ return eFbxEnum; }
00226
00227 #include <fbxsdk/fbxsdk_nsend.h>
00228
00229 #endif