- Main Page
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# fbxlight.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2012 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 FbxColor;
    00023 class FbxManager;
    00024 class FbxTexture;
    00025
    00029 class FBXSDK_DLL FbxLight : public FbxNodeAttribute
    00030 {
    00031     FBXSDK_OBJECT_DECLARE(FbxLight, FbxNodeAttribute);
    00032
    00033 public:
    00045         enum EType
    00046         {
    00047             ePoint,
    00048             eDirectional,
    00049             eSpot,
    00050             eArea,
    00051             eVolume
    00052         };
    00053
    00061         enum EDecayType
    00062         {
    00063             eNone,
    00064             eLinear,
    00065             eQuadratic,
    00066             eCubic
    00067         };
    00068
    00073         enum EAreaLightShape
    00074         {
    00075             eRectangle,
    00076             eSphere
    00077         };
    00078
    00082         void SetShadowTexture(FbxTexture* pTexture);
    00083
    00087         FbxTexture* GetShadowTexture() const;
    00089
    00098         FbxPropertyT<EType> LightType;
    00099
    00104         FbxPropertyT<FbxBool> CastLight;
    00105
    00110         FbxPropertyT<FbxBool> DrawVolumetricLight;
    00111
    00116         FbxPropertyT<FbxBool> DrawGroundProjection;
    00117
    00122         FbxPropertyT<FbxBool> DrawFrontFacingVolumetricLight;
    00123
    00128         FbxPropertyT<FbxDouble3> Color;
    00129
    00134         FbxPropertyT<FbxDouble> Intensity;
    00135
    00140         FbxPropertyT<FbxDouble> InnerAngle;
    00141
    00146         FbxPropertyT<FbxDouble> OuterAngle;
    00147
    00152         FbxPropertyT<FbxDouble> Fog;
    00153
    00158         FbxPropertyT<EDecayType> DecayType;
    00159
    00164         FbxPropertyT<FbxDouble> DecayStart;
    00165
    00170         FbxPropertyT<FbxString> FileName;
    00171
    00176         FbxPropertyT<FbxBool> EnableNearAttenuation;
    00177
    00182         FbxPropertyT<FbxDouble> NearAttenuationStart;
    00183
    00188         FbxPropertyT<FbxDouble> NearAttenuationEnd;
    00189
    00194         FbxPropertyT<FbxBool> EnableFarAttenuation;
    00195
    00200         FbxPropertyT<FbxDouble> FarAttenuationStart;
    00201
    00206         FbxPropertyT<FbxDouble> FarAttenuationEnd;
    00207
    00212         FbxPropertyT<FbxBool> CastShadows;
    00213
    00218         FbxPropertyT<FbxDouble3> ShadowColor;
    00219
    00224         FbxPropertyT<EAreaLightShape> AreaLightShape;
    00225
    00230         FbxPropertyT<FbxFloat> LeftBarnDoor;
    00231
    00236         FbxPropertyT<FbxFloat> RightBarnDoor;
    00237
    00242         FbxPropertyT<FbxFloat> TopBarnDoor;
    00243
    00248         FbxPropertyT<FbxFloat> BottomBarnDoor;
    00249
    00254         FbxPropertyT<FbxBool> EnableBarnDoor;
    00256
    00258 //
    00259 //  WARNING!
    00260 //
    00261 //  Anything beyond these lines may not be documented accurately and is
    00262 //  subject to change without notice.
    00263 //
    00265 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00266     virtual FbxNodeAttribute::EType GetAttributeType() const;
    00267
    00268 protected:
    00269     FbxLight(FbxManager& pManager, char const* pName);
    00270     virtual bool ConstructProperties(bool pForceSet);
    00271     virtual FbxStringList   GetTypeFlags() const;
    00272 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00273 };
    00274
    00275 inline EFbxType FbxTypeOf(const FbxLight::EType&){ return eFbxEnum; }
    00276 inline EFbxType FbxTypeOf(const FbxLight::EDecayType&){ return eFbxEnum; }
    00277 inline EFbxType FbxTypeOf(const FbxLight::EAreaLightShape&){ return eFbxEnum; }
    00278
    00279 #include <fbxsdk/fbxsdk_nsend.h>
    00280
    00281 #endif /* _FBXSDK_SCENE_GEOMETRY_LIGHT_H_ */