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