fbsdk/fblight.h Source File

fblight.h
Go to the documentation of this file.
1 #ifndef __FBLIGHT_H__
2 #define __FBLIGHT_H__
3 /**************************************************************************
4  Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5  All Rights Reserved.
6 
7  The coded instructions, statements, computer programs, and/or related
8  material (collectively the "Data") in these files contain unpublished
9  information proprietary to Autodesk, Inc. and/or its licensors, which is
10  protected by Canada and United States of America federal copyright law
11  and by international treaties.
12 
13  The Data may not be disclosed or distributed to third parties, in whole
14  or in part, without the prior written consent of Autodesk, Inc.
15  ("Autodesk").
16 
17  THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18  ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19  WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20  ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21  OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22  PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23  WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24  FREE.
25 
26  IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27  OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28  EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29  DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30  OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31  DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32  LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33  LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34  DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35  BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36 
37 **************************************************************************/
38 
43 #include <kaydaradef.h>
44 #ifndef FBSDK_DLL
45 
48  #define FBSDK_DLL K_DLLIMPORT
49 #endif
50 
51 #include <fbsdk/fbmodel.h>
52 
53 #ifdef FBSDKUseNamespace
54  namespace FBSDKNamespace {
55 #endif
56 
58 
60 // FBLight
63 
65 enum FBLightType {
70 };
71 
72 FB_DEFINE_ENUM( FBSDK_DLL, LightType );
73 
80 };
81 
82 FB_DEFINE_ENUM( FBSDK_DLL, AttenuationType );
83 
85 class FBSDK_DLL FBLight : public FBModel
86 {
88 public:
93  FBLight(const char* pName, HIObject pObject=NULL);
94 
98  eSphere
99  };
100 
102 
103  // Light parameters
104 
112  PropertyAreaLightShapes AreaLightShape;
122 
123  // Effects and Gobos
128 
134 };
135 
137 // FBPropertyListLight
141 {
142 public:
148  FBLight* operator[](int pIndex);
149 };
150 
152 // FBGlobalLight
155 
158 {
162 };
163 
165 
168 {
170 
172  FBGlobalLight();
173 
174 public:
175 
177 
178  // Fog
185 
189  static FBGlobalLight& TheOne();
190 };
191 
192 #ifdef FBSDKUseNamespace
193  }
194 #endif
195 #endif
Model class.
Definition: fbmodel.h:273
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:132
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
Definition: fbproperties.h:139
FBPropertyBool FogEnable
Read Write Property: Enable fog?
Definition: fblight.h:179
class FBPropertyBaseEnum< enum FBLightType > FBPropertyLightType
Definition: fblight.h:72
class FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
FBPropertyAnimatableColor FogColor
Read Write Property: Fog color.
Definition: fblight.h:180
FBPropertyBool CastShadows
Read Write Property: Cast shadows on object?
Definition: fblight.h:121
Quadratic attenuation.
Definition: fblight.h:78
class FBPropertyBaseAnimatable< double, kFBPT_double > FBPropertyAnimatableDouble
FBPropertyBaseAnimatableDouble type definition.
FBPropertyBool DrawGroundProjection
Read Write Property: Draw ground projection of gobo?
Definition: fblight.h:124
FBPropertyBaseEnum< EAreaLightShapes > PropertyAreaLightShapes
Definition: fblight.h:101
FBPropertyBool EnableBarnDoor
Read Write Property: Whether or not enable barn door.
Definition: fblight.h:129
Infinite light (plane).
Definition: fblight.h:67
#define NULL
Definition: kaydara.h:169
FBFogMode
Fog falloff modes.
Definition: fblight.h:157
FBPropertyDouble RightBarnDoor
Read Write Property: Angle of right barn door.
Definition: fblight.h:131
FBPropertyAnimatableDouble FogIntensity
Read Write Property: Intensity of the fog (spot light).
Definition: fblight.h:118
FBPropertyVideo GoboMedia
Read Write Property: Media to use as a Gobo with the light.
Definition: fblight.h:127
FBPropertyAnimatableDouble FogEnd
Read Write Property: End fog distance.
Definition: fblight.h:182
Base class for Cameras.
No attenuation.
Definition: fblight.h:76
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Definition: fbproperties.h:148
FBPropertyAttenuationType AttenuationType
Read Write Property: Type of attenuation for the light.
Definition: fblight.h:113
class FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
FBPropertyDouble BottomBarnDoor
Read Write Property: Angle of bottom barn door.
Definition: fblight.h:133
FBPropertyBool DrawVolumetricLight
Read Write Property: Draw volumetric light with gobo?
Definition: fblight.h:125
FBPropertyAnimatableDouble FogBegin
Read Write Property: Begin fog distance.
Definition: fblight.h:181
Squared exponential falloff.
Definition: fblight.h:161
class FBPropertyBaseComponent< FBVideo * > FBPropertyVideo
Definition: fbstory.h:76
FBPropertyBool CastLightOnObject
Read Write Property: Cast light on object?
Definition: fblight.h:120
PropertyList: Concrete class for PropertyList of component
Definition: fbcomponent.h:553
Linear attenuation.
Definition: fblight.h:77
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:68
PropertyAreaLightShapes AreaLightShape
Read Write Property: Area light shape.
Definition: fblight.h:112
FBLightType
Light types.
Definition: fblight.h:65
Light class.
Definition: fblight.h:85
FBPropertyAnimatableDouble Intensity
Read Write Property: Light intensity.
Definition: fblight.h:114
FBPropertyAnimatableDouble FogDensity
Read Write Property: Fog density.
Definition: fblight.h:183
#define FBSDKNamespace
FBSDKNamespace define.
Definition: fbversion.h:64
FBPropertyAnimatableColor AmbientColor
Read Write Property: Ambient light color.
Definition: fblight.h:176
PropertyList: Light
Definition: fblight.h:140
FBPropertyLightType LightType
Read Write Property: Type of light.
Definition: fblight.h:111
Cubic attenuation.
Definition: fblight.h:79
FBPropertyDouble LeftBarnDoor
Read Write Property: Angle of left barn door.
Definition: fblight.h:130
A box is a fundamental building block in the application architecture.
Definition: fbcore.h:218
Exponential falloff.
Definition: fblight.h:160
class FBPropertyBaseEnum< enum FBFogMode > FBPropertyFogMode
Definition: fblight.h:164
class FBPropertyBaseAnimatable< FBColor, kFBPT_ColorRGB > FBPropertyAnimatableColor
FBPropertyAnimatableColor type definition.
FBPropertyBool DrawFrontFacingVolumetric
Read Write Property: Draw front facing volumetric light?
Definition: fblight.h:126
FBPropertyDouble TopBarnDoor
Read Write Property: Angle of top barn door.
Definition: fblight.h:132
FBAttenuationType
Light attenuation types.
Definition: fblight.h:75
FBPropertyAnimatableDouble OuterAngle
Read Write Property: Outer Cone angle for light.
Definition: fblight.h:116
EAreaLightShapes
Area light shapes.
Definition: fblight.h:96
Global light class.
Definition: fblight.h:167
FBPropertyAnimatableDouble InnerAngle
Read Write Property: Inner Cone angle for light.
Definition: fblight.h:115
FBPropertyAnimatableColor DiffuseColor
Read Write Property: Color: Diffuse color.
Definition: fblight.h:119
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Definition: fblight.h:48
Linear falloff.
Definition: fblight.h:159
FBPropertyAnimatableDouble ConeAngle
DEPRECATED Equivalent to OuterAngle.
Definition: fblight.h:117
FBPropertyFogMode FogMode
Read Write Property: Fog falloff mode.
Definition: fblight.h:184
class FBPropertyBaseEnum< enum FBAttenuationType > FBPropertyAttenuationType
Definition: fblight.h:82