fbxglobalsettings.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_FILEIO_GLOBAL_SETTINGS_H_
00014 #define _FBXSDK_FILEIO_GLOBAL_SETTINGS_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/base/fbxstring.h>
00019 #include <fbxsdk/core/base/fbxarray.h>
00020 #include <fbxsdk/core/base/fbxtime.h>
00021 #include <fbxsdk/core/base/fbxerror.h>
00022 
00023 #include <fbxsdk/scene/fbxaxissystem.h>
00024 #include <fbxsdk/core/fbxsystemunit.h>
00025 #include <fbxsdk/core/fbxobject.h>
00026 
00027 #include <fbxsdk/fbxsdk_nsbegin.h>
00028 
00032 class FBXSDK_DLL FbxGlobalSettings : public FbxObject
00033 {
00034     FBXSDK_OBJECT_DECLARE(FbxGlobalSettings,FbxObject);
00035 
00036 public:
00041     
00045     void SetAxisSystem(const FbxAxisSystem& pAxisSystem);
00046     
00050     FbxAxisSystem GetAxisSystem();
00052 
00056     void SetOriginalUpAxis(const FbxAxisSystem& pAxisSystem);
00057 
00061     int GetOriginalUpAxis() const;
00063 
00068 
00072     void SetSystemUnit(const FbxSystemUnit& pOther);
00073     
00077     FbxSystemUnit GetSystemUnit() const;
00078 
00082     void SetOriginalSystemUnit(const FbxSystemUnit& pOther);
00083 
00087     FbxSystemUnit GetOriginalSystemUnit() const;
00089 
00090 
00095 
00100     void SetAmbientColor(FbxColor pAmbientColor);
00101 
00105     FbxColor GetAmbientColor() const;
00106 
00108 
00113 
00115     static const char* ePRODUCER_PERSPECTIVE;
00116 
00118     static const char* ePRODUCER_TOP;
00119 
00121     static const char* ePRODUCER_FRONT;
00122 
00124     static const char* ePRODUCER_BACK;
00125 
00127     static const char* ePRODUCER_RIGHT;
00128 
00130     static const char* ePRODUCER_LEFT;
00131 
00133     static const char* ePRODUCER_BOTTOM;
00134 
00142     bool SetDefaultCamera(const char* pCameraName);
00143 
00147     FbxString GetDefaultCamera() const;
00149 
00157     void SetTimeMode(FbxTime::EMode pTimeMode);
00158 
00162     FbxTime::EMode GetTimeMode() const;
00163 
00167     void SetTimelineDefaultTimeSpan(const FbxTimeSpan& pTimeSpan);
00168 
00172     void GetTimelineDefaultTimeSpan(FbxTimeSpan& pTimeSpan) const;
00173 
00177     void SetCustomFrameRate(double pCustomFrameRate);
00178 
00182     double GetCustomFrameRate() const; 
00184 
00186 //
00187 //  WARNING!
00188 //
00189 //  Anything beyond these lines may not be documented accurately and is 
00190 //  subject to change without notice.
00191 //
00193 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00194 public:
00195     virtual FbxObject& Copy(const FbxObject& pObject);
00196 
00197 protected:
00198 
00203         FbxPropertyT<FbxInt>    UpAxis;
00204         FbxPropertyT<FbxInt>    UpAxisSign;
00205 
00206         FbxPropertyT<FbxInt>    FrontAxis;
00207         FbxPropertyT<FbxInt>    FrontAxisSign;
00208 
00209         FbxPropertyT<FbxInt>    CoordAxis;
00210         FbxPropertyT<FbxInt>    CoordAxisSign;
00211 
00212         FbxPropertyT<FbxInt>    OriginalUpAxis;
00213         FbxPropertyT<FbxInt>    OriginalUpAxisSign;
00214 
00215         FbxPropertyT<FbxDouble> UnitScaleFactor;
00216         FbxPropertyT<FbxDouble> OriginalUnitScaleFactor;
00217 
00218         FbxPropertyT<FbxDouble3>   AmbientColor;
00219         FbxPropertyT<FbxString>    DefaultCamera;
00220         FbxPropertyT<FbxEnum>      TimeMode;
00221         FbxPropertyT<FbxTime>      TimeSpanStart;
00222         FbxPropertyT<FbxTime>      TimeSpanStop;
00223         FbxPropertyT<FbxDouble>   CustomFrameRate;
00225 
00226 protected:
00227     virtual void Construct(const FbxGlobalSettings* pFrom);
00228     virtual bool ConstructProperties(bool pForceSet);
00229     
00230 private:
00231     FbxGlobalSettings(FbxManager& pManager, char const* pName);
00232 
00233     void AxisSystemToProperties();
00234     void PropertiesToAxisSystem();
00235 
00236     void Init();
00237 
00238     FbxAxisSystem mAxisSystem;
00239     friend class FbxScene;    
00240 
00241 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS 
00242 };
00243 
00244 inline EFbxType FbxTypeOf(const FbxTime::EMode&){ return eFbxEnum; }
00245 
00246 #include <fbxsdk/fbxsdk_nsend.h>
00247 
00248 #endif /* _FBXSDK_FILEIO_GLOBAL_SETTINGS_H_ */