00001 
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXGLOBALLIGHTSETTINGS_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXGLOBALLIGHTSETTINGS_H
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 #include <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00043 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00044 
00045 #include <fbxfilesdk/kfbxplugins/kfbxcolor.h>
00046 
00047 #include <fbxfilesdk/kfbxmath/kfbxvector4.h>
00048 
00049 #include <fbxfilesdk/components/kbaselib/klib/karrayul.h>
00050 #include <fbxfilesdk/components/kbaselib/klib/kerror.h>
00051 
00052 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00053 
00054 class KFbxGlobalLightSettingsProperties;
00055 
00059 class KFBX_DLL KFbxGlobalLightSettings
00060 {
00061 
00062 public:
00063 
00068 
00073     void SetAmbientColor(KFbxColor pAmbientColor);
00074 
00078     KFbxColor GetAmbientColor();
00079 
00081 
00086 
00090     void SetFogEnable(bool pEnable);
00091 
00095     bool GetFogEnable();
00096 
00101     void SetFogColor(KFbxColor pColor);
00102 
00107     KFbxColor GetFogColor();
00108 
00114     typedef enum
00115     {
00116         eLINEAR,
00117         eEXPONENTIAL,
00118         eSQUAREROOT_EXPONENTIAL
00119     } EFogMode;
00120 
00124     void SetFogMode(EFogMode pMode);
00125 
00129     EFogMode GetFogMode();
00130 
00136     void SetFogDensity(double pDensity);
00137 
00142     double GetFogDensity();
00143 
00148     void SetFogStart(double pStart);
00149 
00154     double GetFogStart();
00155 
00160     void SetFogEnd(double pEnd);
00161 
00166     double GetFogEnd();
00167 
00169 
00176 
00177     struct KFBX_DLL KFbxShadowPlane
00178     {
00179         KFbxShadowPlane();
00180 
00181         bool mEnable; 
00182         KFbxVector4 mOrigin; 
00183         KFbxVector4 mNormal; 
00184     };
00185 
00189     void SetShadowEnable(bool pShadowEnable);
00190 
00194     bool GetShadowEnable();
00195 
00200     void SetShadowIntensity(double pShadowIntensity);
00201 
00206     double GetShadowIntensity();
00207 
00211     int GetShadowPlaneCount();
00212 
00218     KFbxShadowPlane* GetShadowPlane(int pIndex);
00219 
00223     void AddShadowPlane(KFbxShadowPlane pShadowPlane);
00224 
00226     void RemoveAllShadowPlanes();
00227 
00229 
00234 
00238     KError& GetError();
00239 
00244     typedef enum
00245     {
00246         eINDEX_OUT_OF_RANGE,
00247         eERROR_COUNT
00248     } EError;
00249 
00253     EError GetLastErrorID() const;
00254 
00258     const char* GetLastErrorString() const;
00259 
00261 
00263     void RestoreDefaultSettings();
00264 
00268     const KFbxGlobalLightSettings& operator=(const KFbxGlobalLightSettings& pGlobalLightSettings);
00269 
00270 
00272 
00273 
00274 
00275 
00276 
00277 
00279 
00280 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00281 
00282 private:
00283 
00284     KFbxGlobalLightSettings();
00285     ~KFbxGlobalLightSettings();
00286 
00287     KFbxGlobalLightSettingsProperties* mPH;
00288 
00289     friend class KFbxScene;
00290 
00291 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00292 
00293 };
00294 
00295 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00296 
00297 #endif // FBXFILESDK_KFBXPLUGINS_KFBXGLOBALLIGHTSETTINGS_H
00298