00001
00004 #ifndef _FBXSDK_GLOBAL_LIGHT_SETTINGS_H_
00005 #define _FBXSDK_GLOBAL_LIGHT_SETTINGS_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 <kaydaradef.h>
00043 #ifndef KFBX_DLL
00044 #define KFBX_DLL K_DLLIMPORT
00045 #endif
00046
00047 #include <kaydara.h>
00048
00049 #include <kfbxplugins/kfbxcolor.h>
00050
00051 #include <kfbxmath/kfbxvector4.h>
00052
00053 #include <klib/karrayul.h>
00054 #include <klib/kerror.h>
00055
00056 #include <fbxfilesdk_nsbegin.h>
00057
00058 class KFbxGlobalLightSettingsProperties;
00059
00063 class KFBX_DLL KFbxGlobalLightSettings
00064 {
00065
00066 public:
00067
00072
00077 void SetAmbientColor(KFbxColor pAmbientColor);
00078
00082 KFbxColor GetAmbientColor();
00083
00085
00090
00094 void SetFogEnable(bool pEnable);
00095
00099 bool GetFogEnable();
00100
00105 void SetFogColor(KFbxColor pColor);
00106
00111 KFbxColor GetFogColor();
00112
00118 typedef enum
00119 {
00120 eLINEAR,
00121 eEXPONENTIAL,
00122 eSQUAREROOT_EXPONENTIAL
00123 } EFogMode;
00124
00128 void SetFogMode(EFogMode pMode);
00129
00133 EFogMode GetFogMode();
00134
00140 void SetFogDensity(double pDensity);
00141
00146 double GetFogDensity();
00147
00152 void SetFogStart(double pStart);
00153
00158 double GetFogStart();
00159
00164 void SetFogEnd(double pEnd);
00165
00170 double GetFogEnd();
00171
00173
00180
00181 struct KFbxShadowPlane
00182 {
00183 KFbxShadowPlane();
00184
00185 bool mEnable;
00186 KFbxVector4 mOrigin;
00187 KFbxVector4 mNormal;
00188 };
00189
00193 void SetShadowEnable(bool pShadowEnable);
00194
00198 bool GetShadowEnable();
00199
00204 void SetShadowIntensity(double pShadowIntensity);
00205
00210 double GetShadowIntensity();
00211
00215 int GetShadowPlaneCount();
00216
00222 KFbxShadowPlane* GetShadowPlane(int pIndex);
00223
00227 void AddShadowPlane(KFbxShadowPlane pShadowPlane);
00228
00230 void RemoveAllShadowPlanes();
00231
00233
00238
00242 KError& GetError();
00243
00248 typedef enum
00249 {
00250 eINDEX_OUT_OF_RANGE,
00251 eERROR_COUNT
00252 } EError;
00253
00257 EError GetLastErrorID() const;
00258
00262 const char* GetLastErrorString() const;
00263
00265
00267 void RestoreDefaultSettings();
00268
00270 const KFbxGlobalLightSettings& operator=(const KFbxGlobalLightSettings& pGlobalLightSettings);
00271
00272
00274
00275
00276
00277
00278
00279
00281
00282 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00283
00284 private:
00285
00286 KFbxGlobalLightSettings();
00287 ~KFbxGlobalLightSettings();
00288
00289 KFbxGlobalLightSettingsProperties* mPH;
00290
00291 friend class KFbxScene;
00292
00293 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00294
00295 };
00296
00297 #include <fbxfilesdk_nsend.h>
00298
00299 #endif // #ifndef _FBXSDK_GLOBAL_LIGHT_SETTINGS_H_
00300
00301