- Main Page
- Classes
- Files
- Directories

- File List
- File Members

# fbxlodgroup.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2013 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
    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     // Properties
    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     // Methods
    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 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
    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 /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
    00223 };
    00224
    00225 inline EFbxType FbxTypeOf(const FbxLODGroup::EDisplayLevel&){ return eFbxEnum; }
    00226
    00227 #include <fbxsdk/fbxsdk_nsend.h>
    00228
    00229 #endif /* _FBXSDK_SCENE_GEOMETRY_LOD_GROUP_H_ */