CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
OdGsLight Class Referenceabstract

#include <GsLight.h>

Inheritance diagram for OdGsLight:
OdRxObject OdAveLight

Public Types

enum  LightType { kPointLight = 0 , kDistantLight = 1 , kSpotlight = 2 }
 
enum  LightAttenuation { kAttenNone = 0 , kAttenInverseLinear = 1 , kAttenInverseSquare = 2 }
 

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdGsLight)
 
virtual LightType type () const =0
 
virtual OdGePoint3d position () const =0
 
virtual OdGePoint3d target () const =0
 
virtual OdGeVector3d direction () const =0
 
virtual ODCOLORREF color () const =0
 
virtual double intensity () const =0
 
virtual LightAttenuation attenuation () const =0
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Additional Inherited Members

- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Detailed Description

This class is the base class for Light objects in an OdGs framework. Corresponding C++ library: TD_Gs <group OdGs_Classes>

Definition at line 39 of file GsLight.h.

Member Enumeration Documentation

◆ LightAttenuation

Light attenuation parameters.

Enumerator
kAttenNone 

No attenuation is used for light.

kAttenInverseLinear 

Light intensity equals to the inverse of the linear distance from the light source.

kAttenInverseSquare 

Light intensity equals to the inverse of the square distance from the light source. This type of attenuation is the most physically accurate.

Definition at line 60 of file GsLight.h.

◆ LightType

Defines a type of a light source.

Enumerator
kPointLight 

Point light source.

kDistantLight 

Distant light source.

kSpotlight 

Spot light source.

Definition at line 47 of file GsLight.h.

Member Function Documentation

◆ attenuation()

virtual LightAttenuation OdGsLight::attenuation ( ) const
pure virtual

Returns the attenuation of this Light object.

Remarks
attenuation() returns one of the following:

Value
kAttenNone 0
kAttenInverseLinear 1 kAttenInverseSquare 2

Implemented in OdAveLight.

◆ color()

virtual ODCOLORREF OdGsLight::color ( ) const
pure virtual

Returns the color of this Light object.

Implemented in OdAveLight.

◆ direction()

virtual OdGeVector3d OdGsLight::direction ( ) const
pure virtual

Returns the WCS direction of this Light object.

Implemented in OdAveLight.

◆ intensity()

virtual double OdGsLight::intensity ( ) const
pure virtual

Returns the intensity of this Light object.

Implemented in OdAveLight.

◆ ODRX_DECLARE_MEMBERS()

OdGsLight::ODRX_DECLARE_MEMBERS ( OdGsLight  )

◆ position()

virtual OdGePoint3d OdGsLight::position ( ) const
pure virtual

Returns the WCS position of this Light object.

Implemented in OdAveLight.

◆ target()

virtual OdGePoint3d OdGsLight::target ( ) const
pure virtual

Returns the WCS target of this Light object.

Implemented in OdAveLight.

◆ type()

virtual LightType OdGsLight::type ( ) const
pure virtual

Returns the type of this Light object.

Remarks
type() returns one of the following:

Value kPointLight 0 kDistantLight 1 kSpotlight 2

Implemented in OdAveLight.


The documentation for this class was generated from the following file: