- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxlodgroup.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2012 Autodesk, Inc.
    00004    All rights reserved.
    00005
    00006    Use of this software is subject to the terms of the Autodesk license agreement
    00007    provided at the time of installation or download, or which otherwise accompanies
    00008    this software in either electronic or hard copy form.
    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     // Properties
    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     // Methods
    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 //  WARNING!
    00206 //
    00207 //  Anything beyond these lines may not be documented accurately and is
    00208 //  subject to change without notice.
    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 /* _FBXSDK_SCENE_GEOMETRY_LOD_GROUP_H_ */