CFx SDK Documentation  2020SP3
GsLight.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef _OdGsLight_h_Included_
25 #define _OdGsLight_h_Included_
26 
27 #include "RxObject.h"
28 
29 class OdGePoint3d;
30 class OdGeVector3d;
31 
32 #include "TD_PackPush.h"
33 
40 {
41 public:
43 
44  enum LightType
45  {
46  kPointLight = 0,
47  kDistantLight = 1,
48  kSpotlight = 2
49  };
50 
52  {
53  kAttenNone = 0,
54  kAttenInverseLinear = 1,
55  kAttenInverseSquare = 2
56  };
57 
71  virtual LightType type() const = 0;
72 
76  virtual OdGePoint3d position() const = 0;
77 
81  virtual OdGePoint3d target() const = 0;
85  virtual OdGeVector3d direction() const = 0;
89  virtual ODCOLORREF color() const = 0;
93  virtual double intensity() const = 0;
107  virtual LightAttenuation attenuation() const = 0;
108 };
109 
114 
115 #include "TD_PackPop.h"
116 
117 #endif // _OdGsLight_h_Included_
FIRSTDLL_EXPORT
#define FIRSTDLL_EXPORT
Definition: RootExport.h:39
OdGeVector3d
Definition: GeVector3d.h:54
OdGsLight::target
virtual OdGePoint3d target() const =0
OdGsLight::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGsLight)
OdGsLightPtr
OdSmartPtr< OdGsLight > OdGsLightPtr
Definition: GsLight.h:113
OdRxObject
Definition: RxObject.h:564
TD_PackPop.h
OdGsLight::LightAttenuation
LightAttenuation
Definition: GsLight.h:52
OdGsLight::attenuation
virtual LightAttenuation attenuation() const =0
RxObject.h
OdSmartPtr
Definition: SmartPtr.h:58
OdGePoint3d
Definition: GePoint3d.h:55
OdGsLight::LightType
LightType
Definition: GsLight.h:45
OdGsLight::direction
virtual OdGeVector3d direction() const =0
OdGsLight::color
virtual ODCOLORREF color() const =0
TD_PackPush.h
OdGsLight::position
virtual OdGePoint3d position() const =0
OdGsLight::intensity
virtual double intensity() const =0
OdGsLight
Definition: GsLight.h:40
ODCOLORREF
#define ODCOLORREF
Definition: OdPlatform.h:883
OdGsLight::type
virtual LightType type() const =0