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 #include <fbxfilesdk/fbxfilesdk_def.h>
00042
00043 #include <fbxfilesdk/kfbxplugins/kfbxcolor.h>
00044
00045 #include <fbxfilesdk/kfbxmath/kfbxvector4.h>
00046
00047 #include <fbxfilesdk/components/kbaselib/klib/karrayul.h>
00048 #include <fbxfilesdk/components/kbaselib/klib/kerror.h>
00049
00050 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00051
00052 class KFbxGlobalLightSettingsProperties;
00053
00060 class KFBX_DLL KFbxGlobalLightSettings
00061 {
00062
00063 public:
00064 KFBXNEW_DECLARE_FRIEND
00069
00074 void SetAmbientColor(KFbxColor pAmbientColor);
00075
00079 KFbxColor GetAmbientColor() const;
00080
00082
00087
00091 void SetFogEnable(bool pEnable);
00092
00096 bool GetFogEnable() const;
00097
00102 void SetFogColor(KFbxColor pColor);
00103
00108 KFbxColor GetFogColor() const;
00109
00115 typedef enum
00116 {
00117 eLINEAR,
00118 eEXPONENTIAL,
00119 eSQUAREROOT_EXPONENTIAL
00120 } EFogMode;
00121
00125 void SetFogMode(EFogMode pMode);
00126
00130 EFogMode GetFogMode() const;
00131
00137 void SetFogDensity(double pDensity);
00138
00143 double GetFogDensity() const;
00144
00149 void SetFogStart(double pStart);
00150
00155 double GetFogStart() const;
00156
00161 void SetFogEnd(double pEnd);
00162
00167 double GetFogEnd() const;
00168
00170
00177
00180 struct KFBX_DLL KFbxShadowPlane
00181 {
00183 KFbxShadowPlane();
00184
00186 bool mEnable;
00187
00189 KFbxVector4 mOrigin;
00190
00192 KFbxVector4 mNormal;
00193 };
00194
00198 void SetShadowEnable(bool pShadowEnable);
00199
00203 bool GetShadowEnable() const;
00204
00209 void SetShadowIntensity(double pShadowIntensity);
00210
00215 double GetShadowIntensity() const;
00216
00220 int GetShadowPlaneCount() const;
00221
00227 KFbxShadowPlane* GetShadowPlane(int pIndex);
00228
00232 void AddShadowPlane(KFbxShadowPlane pShadowPlane);
00233
00235 void RemoveAllShadowPlanes();
00236
00238
00243
00247 KError& GetError();
00248
00253 typedef enum
00254 {
00255 eINDEX_OUT_OF_RANGE,
00256 eERROR_COUNT
00257 } EError;
00258
00262 EError GetLastErrorID() const;
00263
00267 const char* GetLastErrorString() const;
00268
00270
00272 void RestoreDefaultSettings();
00273
00277 const KFbxGlobalLightSettings& operator=(const KFbxGlobalLightSettings& pGlobalLightSettings);
00278
00279
00281
00282
00283
00284
00285
00286
00288
00289 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00290
00291 private:
00292
00293 KFbxGlobalLightSettings();
00294 ~KFbxGlobalLightSettings();
00295
00296 KFbxGlobalLightSettingsProperties* mPH;
00297
00298 friend class KFbxScene;
00299
00300 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00301
00302 };
00303
00304 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00305
00306 #endif // FBXFILESDK_KFBXPLUGINS_KFBXGLOBALLIGHTSETTINGS_H
00307