- Main Page
- Classes
- Files
- Directories

- File List
- File Members

# fbxlight.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_SCENE_GEOMETRY_LIGHT_H_
    00014 #define _FBXSDK_SCENE_GEOMETRY_LIGHT_H_
    00015
    00016 #include <fbxsdk/fbxsdk_def.h>
    00017
    00018 #include <fbxsdk/scene/geometry/fbxnodeattribute.h>
    00019
    00020 #include <fbxsdk/fbxsdk_nsbegin.h>
    00021
    00022 class FbxTexture;
    00023
    00027 class FBXSDK_DLL FbxLight : public FbxNodeAttribute
    00028 {
    00029     FBXSDK_OBJECT_DECLARE(FbxLight, FbxNodeAttribute);
    00030
    00031 public:
    00043         enum EType
    00044         {
    00045             ePoint,
    00046             eDirectional,
    00047             eSpot,
    00048             eArea,
    00049             eVolume
    00050         };
    00051
    00059         enum EDecayType
    00060         {
    00061             eNone,
    00062             eLinear,
    00063             eQuadratic,
    00064             eCubic
    00065         };
    00066
    00071         enum EAreaLightShape
    00072         {
    00073             eRectangle,
    00074             eSphere
    00075         };
    00076
    00080         void SetShadowTexture(FbxTexture* pTexture);
    00081
    00085         FbxTexture* GetShadowTexture() const;
    00087
    00096         FbxPropertyT<EType> LightType;
    00097
    00102         FbxPropertyT<FbxBool> CastLight;
    00103
    00108         FbxPropertyT<FbxBool> DrawVolumetricLight;
    00109
    00114         FbxPropertyT<FbxBool> DrawGroundProjection;
    00115
    00120         FbxPropertyT<FbxBool> DrawFrontFacingVolumetricLight;
    00121
    00126         FbxPropertyT<FbxDouble3> Color;
    00127
    00132         FbxPropertyT<FbxDouble> Intensity;
    00133
    00138         FbxPropertyT<FbxDouble> InnerAngle;
    00139
    00144         FbxPropertyT<FbxDouble> OuterAngle;
    00145
    00150         FbxPropertyT<FbxDouble> Fog;
    00151
    00156         FbxPropertyT<EDecayType> DecayType;
    00157
    00162         FbxPropertyT<FbxDouble> DecayStart;
    00163
    00168         FbxPropertyT<FbxString> FileName;
    00169
    00174         FbxPropertyT<FbxBool> EnableNearAttenuation;
    00175
    00180         FbxPropertyT<FbxDouble> NearAttenuationStart;
    00181
    00186         FbxPropertyT<FbxDouble> NearAttenuationEnd;
    00187
    00192         FbxPropertyT<FbxBool> EnableFarAttenuation;
    00193
    00198         FbxPropertyT<FbxDouble> FarAttenuationStart;
    00199
    00204         FbxPropertyT<FbxDouble> FarAttenuationEnd;
    00205
    00210         FbxPropertyT<FbxBool> CastShadows;
    00211
    00216         FbxPropertyT<FbxDouble3> ShadowColor;
    00217
    00222         FbxPropertyT<EAreaLightShape> AreaLightShape;
    00223
    00228         FbxPropertyT<FbxFloat> LeftBarnDoor;
    00229
    00234         FbxPropertyT<FbxFloat> RightBarnDoor;
    00235
    00240         FbxPropertyT<FbxFloat> TopBarnDoor;
    00241
    00246         FbxPropertyT<FbxFloat> BottomBarnDoor;
    00247
    00252         FbxPropertyT<FbxBool> EnableBarnDoor;
    00254
    00255 /*****************************************************************************************************************************
    00256 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
    00257 *****************************************************************************************************************************/
    00258 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00259     virtual FbxNodeAttribute::EType GetAttributeType() const;
    00260
    00261 protected:
    00262     virtual void ConstructProperties(bool pForceSet);
    00263     virtual FbxStringList   GetTypeFlags() const;
    00264 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
    00265 };
    00266
    00267 inline EFbxType FbxTypeOf(const FbxLight::EType&){ return eFbxEnum; }
    00268 inline EFbxType FbxTypeOf(const FbxLight::EDecayType&){ return eFbxEnum; }
    00269 inline EFbxType FbxTypeOf(const FbxLight::EAreaLightShape&){ return eFbxEnum; }
    00270
    00271 #include <fbxsdk/fbxsdk_nsend.h>
    00272
    00273 #endif /* _FBXSDK_SCENE_GEOMETRY_LIGHT_H_ */