fbxsdk/fileio/fbxgloballightsettings.h Source File
 
 
 
fbxsdk/fileio/fbxgloballightsettings.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_FILEIO_GLOBAL_LIGHT_SETTINGS_H_
00014 #define _FBXSDK_FILEIO_GLOBAL_LIGHT_SETTINGS_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/fbxpropertytypes.h>
00019 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00022 class FbxGlobalLightSettingsProperties;
00023 
00030 class FBXSDK_DLL FbxGlobalLightSettings
00031 {
00032 
00033 public:
00034     FBXSDK_FRIEND_NEW();
00039 
00044     void SetAmbientColor(FbxColor pAmbientColor);
00045 
00049     FbxColor GetAmbientColor() const;
00050 
00052 
00057 
00061     void SetFogEnable(bool pEnable);
00062 
00066     bool GetFogEnable() const;
00067 
00072     void SetFogColor(FbxColor pColor);
00073 
00078     FbxColor GetFogColor() const;
00079 
00082     enum EFogMode
00083     {
00084         eLinear,                                
00085         eExponential,                   
00086         eExponentialSquareRoot  
00087     };
00088 
00092     void SetFogMode(EFogMode pMode);
00093 
00097     EFogMode GetFogMode() const;
00098 
00104     void SetFogDensity(double pDensity);
00105 
00110     double GetFogDensity() const;
00111 
00116     void SetFogStart(double pStart);
00117 
00122     double GetFogStart() const;
00123 
00128     void SetFogEnd(double pEnd);
00129 
00134     double GetFogEnd() const;
00135 
00137 
00144 
00147     struct FBXSDK_DLL ShadowPlane
00148     {
00150         ShadowPlane();
00151 
00153         bool mEnable;
00154 
00156         FbxVector4 mOrigin;
00157 
00159         FbxVector4 mNormal; 
00160     };
00161 
00165     void SetShadowEnable(bool pShadowEnable);
00166 
00170     bool GetShadowEnable() const;
00171 
00176     void SetShadowIntensity(double pShadowIntensity);
00177 
00182     double GetShadowIntensity() const;
00183 
00187     int GetShadowPlaneCount() const;
00188 
00194     ShadowPlane* GetShadowPlane(int pIndex, FbxStatus* pStatus=NULL);
00195 
00199     void AddShadowPlane(ShadowPlane pShadowPlane);
00200 
00202     void RemoveAllShadowPlanes();
00203 
00205 
00207     void RestoreDefaultSettings();
00208 
00212     const FbxGlobalLightSettings& operator=(const FbxGlobalLightSettings& pGlobalLightSettings);
00213 
00214 
00215 /*****************************************************************************************************************************
00216 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00217 *****************************************************************************************************************************/
00218 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00219 private:
00220     FbxGlobalLightSettings();
00221     ~FbxGlobalLightSettings();
00222 
00223     FbxGlobalLightSettingsProperties* mPH;
00224 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00225 };
00226 
00227 #include <fbxsdk/fbxsdk_nsend.h>
00228 
00229 #endif /* _FBXSDK_FILEIO_GLOBAL_LIGHT_SETTINGS_H_ */