Public Member Functions

GenLight Class Reference

This reference page is linked to from the following overview topics: Object Plug-ins, Plug-in Base Classes, Principal Light Classes, Light Parameters.


Search for all occurrences

Detailed Description

See also:
Class LightObject, Class NameTab, Class Control, Class Interval, Class Point3, Class ObjLightDesc.

Description:
This class describes a generic light object. It is used as a base class for creating plug-in lights. Methods of this class are used to get and set properties of the light. All methods of this class are virtual.

#include <genlight.h>

Inheritance diagram for GenLight:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual GenLight NewLight (int type)=0
virtual RefResult  EvalLightState (TimeValue t, Interval &valid, LightState *cs)=0
  This method is called to update the passed LightState and validity interval of the light.
virtual int  Type ()=0
virtual void  SetType (int tp)
virtual BOOL  IsSpot ()=0
virtual BOOL  IsDir ()=0
virtual void  SetUseLight (int onOff)=0
virtual BOOL  GetUseLight (void)=0
virtual void  SetSpotShape (int s)=0
virtual int  GetSpotShape (void)=0
virtual void  SetHotspot (TimeValue time, float f)=0
virtual float  GetHotspot (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetFallsize (TimeValue time, float f)=0
virtual float  GetFallsize (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetAtten (TimeValue time, int which, float f)=0
virtual float  GetAtten (TimeValue t, int which, Interval &valid=Interval(0, 0))=0
virtual void  SetTDist (TimeValue time, float f)=0
virtual float  GetTDist (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual ObjLightDesc CreateLightDesc (INode *inode, BOOL forceShadowBuf=FALSE)=0
virtual ObjLightDesc CreateLightDesc (RenderGlobalContext *rgc, INode *inode, BOOL forceShadowBuf=FALSE)
virtual void  SetRGBColor (TimeValue t, Point3 &rgb)=0
virtual Point3  GetRGBColor (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetHSVColor (TimeValue t, Point3 &hsv)=0
virtual Point3  GetHSVColor (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetIntensity (TimeValue time, float f)=0
virtual float  GetIntensity (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetContrast (TimeValue time, float f)=0
virtual float  GetContrast (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetAspect (TimeValue t, float f)=0
virtual float  GetAspect (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetConeDisplay (int s, int notify=TRUE)=0
virtual BOOL  GetConeDisplay (void)=0
virtual void  SetUseAtten (int s)=0
virtual BOOL  GetUseAtten (void)=0
virtual void  SetAttenDisplay (int s)=0
virtual BOOL  GetAttenDisplay (void)=0
virtual void  SetUseAttenNear (int s)=0
virtual BOOL  GetUseAttenNear (void)=0
virtual void  SetAttenNearDisplay (int s)=0
virtual BOOL  GetAttenNearDisplay (void)=0
virtual void  Enable (int enab)=0
virtual void  SetMapBias (TimeValue t, float f)=0
virtual float  GetMapBias (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetMapRange (TimeValue t, float f)=0
virtual float  GetMapRange (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetMapSize (TimeValue t, int f)=0
virtual int  GetMapSize (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual void  SetRayBias (TimeValue t, float f)=0
virtual float  GetRayBias (TimeValue t, Interval &valid=Interval(0, 0))=0
virtual int  GetUseGlobal ()=0
virtual void  SetUseGlobal (int a)=0
virtual int  GetShadow ()=0
virtual void  SetShadow (int a)=0
virtual int  GetShadowType ()=0
virtual void  SetShadowType (int a)=0
virtual void  SetShadowGenerator (ShadowType *s)
virtual ShadowType GetShadowGenerator ()
virtual int  GetAbsMapBias ()=0
  Returns the lights Absolute Map Bias setting.
virtual void  SetAbsMapBias (int a)=0
  Sets the lights Absolute Map Bias setting.
virtual void  SetAtmosShadows (TimeValue t, int onOff)
virtual int  GetAtmosShadows (TimeValue t)
virtual void  SetAtmosOpacity (TimeValue t, float f)
virtual float  GetAtmosOpacity (TimeValue t, Interval &valid=FOREVER)
virtual void  SetAtmosColAmt (TimeValue t, float f)
virtual float  GetAtmosColAmt (TimeValue t, Interval &valid=FOREVER)
virtual void  SetUseShadowColorMap (TimeValue t, int onOff)
virtual int  GetUseShadowColorMap (TimeValue t)
virtual int  GetOvershoot ()=0
virtual void  SetOvershoot (int a)=0
virtual ExclList GetExclusionList ()=0
virtual void  SetExclusionList (ExclList &list)=0
virtual BOOL  SetHotSpotControl (Control *c)=0
virtual BOOL  SetFalloffControl (Control *c)=0
virtual BOOL  SetColorControl (Control *c)=0
virtual Control GetHotSpotControl ()=0
virtual Control GetFalloffControl ()=0
virtual Control GetColorControl ()=0
virtual void  SetAffectDiffuse (BOOL onOff)
virtual BOOL  GetAffectDiffuse ()
virtual void  SetAffectSpecular (BOOL onOff)
virtual BOOL  GetAffectSpecular ()
virtual void  SetDecayType (BOOL onOff)
virtual BOOL  GetDecayType ()
virtual void  SetDecayRadius (TimeValue time, float f)
virtual float  GetDecayRadius (TimeValue t, Interval &valid=Interval(0, 0))
virtual void  SetDiffuseSoft (TimeValue time, float f)
virtual float  GetDiffuseSoft (TimeValue t, Interval &valid=Interval(0, 0))
virtual void  SetShadColor (TimeValue t, Point3 &rgb)
virtual Point3  GetShadColor (TimeValue t, Interval &valid=Interval(0, 0))
virtual BOOL  GetLightAffectsShadow ()
virtual void  SetLightAffectsShadow (BOOL b)
virtual void  SetShadMult (TimeValue t, float m)
virtual float  GetShadMult (TimeValue t, Interval &valid=Interval(0, 0))
virtual Texmap GetProjMap ()
virtual void  SetProjMap (Texmap *pmap)
virtual Texmap GetShadowProjMap ()
virtual void  SetShadowProjMap (Texmap *pmap)
virtual void  SetAmbientOnly (BOOL onOff)
virtual BOOL  GetAmbientOnly ()

Member Function Documentation

virtual GenLight* NewLight ( int  type ) [pure virtual]
Remarks:
Creates a new light object of the specified type.
Parameters:
int type

One of the following values:

OMNI_LIGHT -- Omnidirectional light.

TSPOT_LIGHT -- Targeted spot light.

DIR_LIGHT -- Directional light.

FSPOT_LIGHT -- Free spot light.

TDIR_LIGHT -- Targeted directional light.
Returns:
A pointer to a new instance of the specified light type.

Implemented in MSPluginLight, and MSLightXtnd.

virtual RefResult EvalLightState ( TimeValue  time,
Interval valid,
LightState ls 
) [pure virtual]

This method is called to update the passed LightState and validity interval of the light.

Parameters:
time The time to evaluate the light state.
valid The validity interval of the light about the specified time. This interval should be updated to reflect the validity interval of the light.
ls A pointer to the LightState structure which describes the properties of the light. This function updates the data in the structure to reflect the properties of the light at the specified time. See Structure LightState.
Returns:
REF_SUCCEED if the LightState was updated; otherwise REF_FAIL.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual int Type ( ) [pure virtual]
Remarks:
Returns the type of light this is.
Returns:
One of the following values:

OMNI_LIGHT -- Omnidirectional light.

TSPOT_LIGHT -- Targeted spot light.

DIR_LIGHT -- Directional light.

FSPOT_LIGHT -- Free spot light.

TDIR_LIGHT -- Targeted directional light.

Implemented in LightscapeLight, MSPluginLight, and MSLightXtnd.

virtual void SetType ( int  tp ) [inline, virtual]

Reimplemented in LightscapeLight, MSPluginLight, and MSLightXtnd.

{} // OMNI_LIGHT, TSPOT_LIGHT, DIR_LIGHT, FSPOT_LIGHT, TDIR_LIGHT      
virtual BOOL IsSpot ( ) [pure virtual]
Remarks:
Returns TRUE if the light is a spotlight; otherwise FALSE.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL IsDir ( ) [pure virtual]
Remarks:
Returns TRUE if the light is directional; otherwise FALSE.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetUseLight ( int  onOff ) [pure virtual]
Remarks:
Sets the light on or off.
Parameters:
int onOff

Nonzero sets the light on; zero sets it off.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL GetUseLight ( void  ) [pure virtual]
Remarks:
Returns TRUE if the light is on; otherwise FALSE.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetSpotShape ( int  s ) [pure virtual]
Remarks:
Sets the shape used for a spotlight, either rectangular or circular.
Parameters:
int s

One of the following values:

RECT_LIGHT

CIRCLE_LIGHT

Implemented in MSPluginLight, and MSLightXtnd.

virtual int GetSpotShape ( void  ) [pure virtual]
Remarks:
Retrieves the shape used for a spotlight.
Returns:
One of the following values:

RECT_LIGHT

CIRCLE_LIGHT

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetHotspot ( TimeValue  time,
float  f 
) [pure virtual]
Remarks:
Sets the hotspot to the specified angle at the specified time.
Parameters:
TimeValue time

The time to set the value.

float f

The angle in degrees.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetHotspot ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the hotspot angle in degrees at the specified time and updates the interval to reflect the validity of the hotspot controller.
Parameters:
TimeValue t

The time to get the angle.

Interval& valid = Interval(0,0)

The interval which is updated.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetFallsize ( TimeValue  time,
float  f 
) [pure virtual]
Remarks:
Sets the falloff angle at the specified time.
Parameters:
TimeValue time

The time to set the angle.

float f

The angle to set in degrees.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetFallsize ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the falloff angle in degrees at the specified time and updates the interval passed to reflect the validity of the falloff controller.
Parameters:
TimeValue t

The time to return the value.

Interval& valid = Interval(0,0)

The interval which is updated.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetAtten ( TimeValue  time,
int  which,
float  f 
) [pure virtual]
Remarks:
Sets the specified attenuation range distance at the time passed.
Parameters:
TimeValue time

The time to set the attenuation distance.

int which

Indicates which distance to set. One of the following values:

ATTEN1_START

The near start range.

ATTEN1_END

The near end range.

ATTEN_START

The far start range.

ATTEN_END

The far end range.

float f

The distance to set.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetAtten ( TimeValue  t,
int  which,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the specified attenuation distance at the time passed and updates the interval to reflect the validity of the attenuation controller.
Parameters:
TimeValue t

The time to get the attenuation distance.

int which

Indicates which distance to get. One of the following values:

ATTEN1_START

The near start range.

ATTEN1_END

The near end range.

ATTEN_START

The far start range.

ATTEN_END

The far end range.

Interval& valid = Interval(0,0)

The interval which is updated.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetTDist ( TimeValue  time,
float  f 
) [pure virtual]
Remarks:
Sets the light's target distance.
Parameters:
TimeValue time

The time to set the distance.

float f

The distance to set.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetTDist ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the light's target distance at the specified time and updates the interval passed to reflect the validity of the target distance.
Parameters:
TimeValue t

The time to retrieve the distance.

Interval& valid = Interval(0,0)

The interval to update.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual ObjLightDesc* CreateLightDesc ( INode inode,
BOOL  forceShadowBuf = FALSE 
) [pure virtual]
Remarks:
When the renderer goes to render the scene it asks all of the lights to create an ObjLighDesc object. This is the method that is called to return a pointer to this object.
Parameters:
INode *n

The node pointer of the light.

BOOL forceShadowBuffer

Forces the creation of a shadow buffer.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual ObjLightDesc* CreateLightDesc ( RenderGlobalContext rgc,
INode inode,
BOOL  forceShadowBuf = FALSE 
) [inline, virtual]

Reimplemented from LightObject.

    {return CreateLightDesc(inode, forceShadowBuf);}
virtual void SetRGBColor ( TimeValue  t,
Point3 rgb 
) [pure virtual]
Remarks:
Sets the color of the light at the specified time.
Parameters:
TimeValue t

The time to set the color.

Point3& rgb

The color to set.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual Point3 GetRGBColor ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the color of the light at the specified time and updates the validity interval to reflect this parameters validity interval.
Parameters:
TimeValue t

The time to get the color.

Interval &valid = Interval(0,0)

The interval which is updated.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetHSVColor ( TimeValue  t,
Point3 hsv 
) [pure virtual]
Remarks:
Sets the HSV color of the light at the specified time.
Parameters:
TimeValue t

The time to set the color.

Point3& hsv

The color.
Sample Code:
The following sample shows how the RGB value can be converted to HSV.

{

int h, s, v;

Point3 rgbf = GetRGBColor(t, valid);

DWORD rgb = RGB((int)(rgbf[0]*255.0f),

(int)(rgbf[1]*255.0f), (int)(rgbf[2]*255.0f));

RGBtoHSV (rgb, &h, &s, &v);

return Point3(h/255.0f, s/255.0f, v/255.0f);

}

Implemented in MSPluginLight, and MSLightXtnd.

virtual Point3 GetHSVColor ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Retrieves the HSV color of the light at the specified time and updates the validity interval to reflect the color parameter.
Parameters:
TimeValue t

The time to retrieve the color.

Interval &valid = Interval(0,0)

The interval to update.
Returns:
The color of the light (as a Point3).

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetIntensity ( TimeValue  time,
float  f 
) [pure virtual]
Remarks:
Sets the intensity (multiplier value) of the light at the specified time.
Parameters:
TimeValue time

The time to set the intensity.

float f

The value to set.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetIntensity ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the intensity (multiplier value) of the light at the specified time and updates the interval passed to reflect the validity of the controller.
Parameters:
TimeValue t

The time to get the value.

Interval& valid = Interval(0,0)

The interval is updated.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetContrast ( TimeValue  time,
float  f 
) [pure virtual]
Remarks:
Sets the light's contrast setting.
Parameters:
TimeValue time

The time to set the contrast value.

float f

The new contrast value in the range of 0.0 to 100.0.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetContrast ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the light's contrast setting in the range 0.0 to 100.0.
Parameters:
TimeValue t

The time to get the light's contrast setting.

Interval& valid = Interval(0,0)

This interval is updated to reflect the interval of the light's contrast setting.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetAspect ( TimeValue  t,
float  f 
) [pure virtual]
Remarks:
Set the aspect property to the specified value.
Parameters:
TimeValue t

The time at which to set the aspect ratio.

float f

Specifies the aspect ratio setting.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetAspect ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the aspect property (for rectangular lights) at the specified time and updates the interval passed to reflect the validity of the aspect controller.
Parameters:
TimeValue t

The time to get the value.

Interval& valid = Interval(0,0)

The interval to update.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetConeDisplay ( int  s,
int  notify = TRUE 
) [pure virtual]
Remarks:
Sets the spotlight cone display to on or off. This controls if the cone is depicted graphically in the viewports.
Parameters:
int s

Indicates if the cone display should be on or off. Nonzero indicates the cone should be displayed; otherwise it will be turned off.

int notify=TRUE

If notify is TRUE the plug-in should call NotifyDependents() to notify its dependents.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL GetConeDisplay ( void  ) [pure virtual]
Remarks:
Returns the cone display property. TRUE if the spotlight cone is on; FALSE if off.

Implements LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetUseAtten ( int  s ) [pure virtual]
Remarks:
Sets the far attenuation state to on or off.
Parameters:
int s

Nonzero for on; zero for off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL GetUseAtten ( void  ) [pure virtual]
Remarks:
Returns nonzero if far attenuation is on; zero if off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetAttenDisplay ( int  s ) [pure virtual]
Remarks:
Establishes if the light far attenuation range is displayed in the viewports.
Parameters:
int s

Nonzero for on; zero for off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL GetAttenDisplay ( void  ) [pure virtual]
Remarks:
Returns TRUE if the far attenuation range is displayed; otherwise FALSE.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetUseAttenNear ( int  s ) [pure virtual]
Remarks:
Sets if the light uses near attenuation.
Parameters:
int s

Nonzero to use near attenuation; otherwise zero.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL GetUseAttenNear ( void  ) [pure virtual]
Remarks:
Returns TRUE if the light has near attenuation on; otherwise FALSE.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetAttenNearDisplay ( int  s ) [pure virtual]
Remarks:
Establishes if the light near attenuation range is displayed in the viewports.
Parameters:
int s

TRUE to turn on the display; otherwise FALSE.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL GetAttenNearDisplay ( void  ) [pure virtual]
Remarks:
Returns TRUE if the light near attenuation range is displayed in the viewports; otherwise FALSE.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void Enable ( int  enab ) [pure virtual]
Remarks:
Sets the light to enabled or disables (on or off).
Parameters:
int enab

Nonzero for on; zero for off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetMapBias ( TimeValue  t,
float  f 
) [pure virtual]
Remarks:
Sets the map bias value at the time passed.
Parameters:
TimeValue t

The time to set the value.

float f

The value to set.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetMapBias ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the map bias setting at the specified time and updates the interval passed to reflect the validity of the map bias.
Parameters:
TimeValue t

The time to get the value.

Interval& valid = Interval(0,0)

The interval to update.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetMapRange ( TimeValue  t,
float  f 
) [pure virtual]
Remarks:
Sets the map range value at the time passed.
Parameters:
TimeValue t

The time to set the value.

float f

The value to set.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetMapRange ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the map range setting at the specified time and updates the interval passed to reflect the validity of the map range.
Parameters:
TimeValue t

The time to get the value.

Interval& valid = Interval(0,0)

The interval to update.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetMapSize ( TimeValue  t,
int  f 
) [pure virtual]
Remarks:
Sets the map size value at the time passed.
Parameters:
TimeValue t

The time to set the value.

int f

The value to set.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual int GetMapSize ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the map size setting at the specified time and updates the interval passed to reflect the validity of the map size.
Parameters:
TimeValue t

The time to get the value.

Interval& valid = Interval(0,0)

The interval to update.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetRayBias ( TimeValue  t,
float  f 
) [pure virtual]
Remarks:
Sets the map raytrace bias value at the time passed.
Parameters:
TimeValue t

The time to set the value.

float f

The value to set.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual float GetRayBias ( TimeValue  t,
Interval valid = Interval(0, 0) 
) [pure virtual]
Remarks:
Returns the raytrace bias setting at the specified time and updates the interval passed to reflect the validity of the bias.
Parameters:
TimeValue t

The time to get the value.

Interval& valid = Interval(0,0)

The interval to update.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual int GetUseGlobal ( ) [pure virtual]
Remarks:
Returns TRUE if the use global setting is on; otherwise FALSE.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetUseGlobal ( int  a ) [pure virtual]
Remarks:
Set the use global setting to on or off.
Parameters:
int a

TRUE for on; FALSE for off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual int GetShadow ( ) [pure virtual]
Remarks:
Returns the lights Cast Shadows flag. Nonzero indicates the light casts shadows; otherwise 0.
Default Implementation:
{return 0;}

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetShadow ( int  a ) [pure virtual]
Remarks:
Sets the lights Cast Shadows flag.
Parameters:
int a

Nonzero indicates the light casts shadows; zero indicates the light does not cast shadows.
Default Implementation:
{}

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual int GetShadowType ( ) [pure virtual]
Remarks:
Retrieves the type of shadows used by the light - mapped or raytraced.
Returns:
One of the following values:

-1: if the Shadow Generator is NULL. (R3 only).

0: if the light uses Shadow Maps.

1: if the light uses Raytraced Shadows.

0xffff: for any other Shadow Generators. (R3 only).
Default Implementation:
{return 0;}

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetShadowType ( int  a ) [pure virtual]
Remarks:
Sets the type of shadows used by the light - mapped or raytraced.
Parameters:
int a

The shadow type. One of the following values:

0: This value plugs in a Shadow Map Generator.

1: This value plugs in a Raytraced Shadow Generator.

Any other value is a NO-OP.
Default Implementation:
{}

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetShadowGenerator ( ShadowType s ) [inline, virtual]
Remarks:
Sets the shadow generator used by the light.
Parameters:
ShadowType *s

The shadow plug-in to use. See Class ShadowType.
Default Implementation:
{}

Reimplemented in LightscapeLight, MSPluginLight, and MSLightXtnd.

{};
virtual ShadowType* GetShadowGenerator ( ) [inline, virtual]
Remarks:
Returns a pointer to the shadow generator plug-in in use by the light. See Class ShadowType.
Default Implementation:
{ return NULL; }

Reimplemented in LightscapeLight, MSPluginLight, and MSLightXtnd.

{ return NULL; } 
virtual int GetAbsMapBias ( ) [pure virtual]

Returns the lights Absolute Map Bias setting.

Returns:
Nonzero indicates Absolute Map Bias is on; zero indicates it is off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetAbsMapBias ( int  a ) [pure virtual]

Sets the lights Absolute Map Bias setting.

Parameters:
a Nonzero indicates Absolute Map Bias is on; zero indicates it is off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetAtmosShadows ( TimeValue  t,
int  onOff 
) [inline, virtual]
Remarks:
Sets the atmospheric shadow flag to on or off at the specified time.
Parameters:
TimeValue t

The time at which to set the value.

int onOff

TRUE for on; FALSE for off.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual int GetAtmosShadows ( TimeValue  t ) [inline, virtual]
Remarks:
Returns the atmospheric shadow setting at the specified time.
Parameters:
TimeValue t
Default Implementation:
{ return 0; }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return 0; }
virtual void SetAtmosOpacity ( TimeValue  t,
float  f 
) [inline, virtual]
Remarks:
Sets the atmospheric opacity value at the time passed.
Parameters:
TimeValue t

The time to set the value.

float f

The value to set.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual float GetAtmosOpacity ( TimeValue  t,
Interval valid = FOREVER 
) [inline, virtual]
Remarks:
Returns the atmospheric opacity value at the specified time and updates the validity interval to reflect the validity of the opacity controller.
Parameters:
TimeValue t

The time to get the value.

Interval& valid=FOREVER

The interval to update.
Default Implementation:
{ return 0.0f; }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return 0.0f; }
virtual void SetAtmosColAmt ( TimeValue  t,
float  f 
) [inline, virtual]
Remarks:
Sets the atmospheric shadow color amount at the specified time.
Parameters:
TimeValue t

The time to set the value.

float f

The value to set.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual float GetAtmosColAmt ( TimeValue  t,
Interval valid = FOREVER 
) [inline, virtual]
Remarks:
Returns the atmospheric shadow color amount at the specified time and updates the interval passed to reflect the validity of the amount.
Parameters:
TimeValue t

The time to get.

Interval& valid=FOREVER

The interval to update.
Default Implementation:
{ return 0.0f; }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return 0.0f; }
virtual void SetUseShadowColorMap ( TimeValue  t,
int  onOff 
) [inline, virtual]
virtual int GetUseShadowColorMap ( TimeValue  t ) [inline, virtual]

Reimplemented in LightscapeLight, MSPluginLight, and MSLightXtnd.

{ return FALSE; }
virtual int GetOvershoot ( ) [pure virtual]
Remarks:
Returns the overshoot setting. Nonzero is on; zero is off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetOvershoot ( int  a ) [pure virtual]
Remarks:
Sets the overshoot setting.
Parameters:
int a

Nonzero for on; zero for off.

Reimplemented from LightObject.

Implemented in MSPluginLight, and MSLightXtnd.

virtual ExclList& GetExclusionList ( ) [pure virtual]
Remarks:
Returns the exclusion list for the light.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetExclusionList ( ExclList list ) [pure virtual]
Remarks:
Sets the exclusion list for the light.
Parameters:
ExclList &list

The exclusion list.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL SetHotSpotControl ( Control c ) [pure virtual]
Remarks:
Sets the controller for the hot spot parameter.
Parameters:
Control *c

The controller to set.
Returns:
TRUE if the controller was set; otherwise FALSE.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL SetFalloffControl ( Control c ) [pure virtual]
Remarks:
Sets the controller for the falloff parameter.
Parameters:
Control *c

The controller to set.
Returns:
TRUE if the controller was set; otherwise FALSE.

Implemented in MSPluginLight, and MSLightXtnd.

virtual BOOL SetColorControl ( Control c ) [pure virtual]
Remarks:
Sets the controller for the color parameter.
Parameters:
Control *c

The controller to set.
Returns:
TRUE if the controller was set; otherwise FALSE.

Implemented in MSPluginLight, and MSLightXtnd.

virtual Control* GetHotSpotControl ( ) [pure virtual]
Remarks:
Returns the controller for the hot spot parameter.

Implemented in MSPluginLight, and MSLightXtnd.

virtual Control* GetFalloffControl ( ) [pure virtual]
Remarks:
Returns the controller for the falloff parameter.

Implemented in MSPluginLight, and MSLightXtnd.

virtual Control* GetColorControl ( ) [pure virtual]
Remarks:
Returns the controller for the color parameter.

Implemented in MSPluginLight, and MSLightXtnd.

virtual void SetAffectDiffuse ( BOOL  onOff ) [inline, virtual]
Remarks:
Establishes if the light affects the diffuse color of objects.
Parameters:
BOOL onOff

TRUE to have the light affect the diffuse color; otherwise FALSE.

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual BOOL GetAffectDiffuse ( ) [inline, virtual]
Remarks:
Returns TRUE if the light affects the diffuse color of objects; otherwise FALSE.

Reimplemented in MSPluginLight, and MSLightXtnd.

{return 0;}
virtual void SetAffectSpecular ( BOOL  onOff ) [inline, virtual]
Remarks:
Establishes if the light affects the specular color of objects.
Parameters:
BOOL onOff

TRUE to have the light affect the specular color; otherwise FALSE.

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual BOOL GetAffectSpecular ( ) [inline, virtual]
Remarks:
Returns TRUE if the light affects the specular color of objects; otherwise FALSE.

Reimplemented in MSPluginLight, and MSLightXtnd.

{return 0;}
virtual void SetDecayType ( BOOL  onOff ) [inline, virtual]
Remarks:
Sets the decay state of the light.
Parameters:
BOOL onOff

This boolean works as an integer where 0 is None, 1 is Inverse and 2 is Inverse Square.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual BOOL GetDecayType ( ) [inline, virtual]
Remarks:
Returns the decay state of the light.
Returns:
This boolean works as an integer where 0 is None, 1 is Inverse and 2 is Inverse Square.
Default Implementation:
{return 0;}

Reimplemented in MSPluginLight, and MSLightXtnd.

{return 0;}
virtual void SetDecayRadius ( TimeValue  time,
float  f 
) [inline, virtual]
Remarks:
Sets the decay radius (i.e. falloff) of the light.
Parameters:
TimeValue time

The time at which to set the radius.

float f

The radius to set.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual float GetDecayRadius ( TimeValue  t,
Interval valid = Interval(0,0) 
) [inline, virtual]
Remarks:
Returns the decay radius of the light and updates the validity interval to reflect the validity of the radius controller.
Parameters:
TimeValue t

The time at which to return the radius.

Interval& valid = Interval(0,0)

The validity interval which is updated.
Default Implementation:
{ return 0.0f;}

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return 0.0f;}
virtual void SetDiffuseSoft ( TimeValue  time,
float  f 
) [inline, virtual]
Remarks:
Sets the state of the 'Soften Diffuse Edge' parameter.
Parameters:
TimeValue time

The time at which to set the value.

float f

The value to set in the range of 0.0 to 100.0.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual float GetDiffuseSoft ( TimeValue  t,
Interval valid = Interval(0,0) 
) [inline, virtual]
Remarks:
Returns the state of the 'Soften Diffuse Edge' parameter.
Parameters:
TimeValue t

The time at which to return the value.

Interval& valid = Interval(0,0)

The validity interval that is updated to reflect the state of this parameter.
Default Implementation:
{ return 0.0f; }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return 0.0f; }
virtual void SetShadColor ( TimeValue  t,
Point3 rgb 
) [inline, virtual]
Remarks:
Sets the shadow color to the specified value at the time passed.
Parameters:
TimeValue t

The time at which to set the shadow color.

Point3& rgb

The color to set.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual Point3 GetShadColor ( TimeValue  t,
Interval valid = Interval(0,0) 
) [inline, virtual]
Remarks:
Returns the shadow color at the time passed and updates the validity interval passed to reflect the validity of the shadow color controller.
Parameters:
TimeValue t

The time at which to return the shadow color.

Interval &valid = Interval(0,0)

The validity interval which is updated.
Default Implementation:
{ return Point3(0,0,0); }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return Point3(0,0,0); }
virtual BOOL GetLightAffectsShadow ( ) [inline, virtual]
Remarks:
Returns TRUE if the Light Affects Shadow Color flag is set; otherwise FALSE.
Default Implementation:
{ return 0; }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return 0; }
virtual void SetLightAffectsShadow ( BOOL  b ) [inline, virtual]
Remarks:
Sets the state of the Light Affects Shadow Color flag to the value passed.
Parameters:
BOOL b

TRUE for set; FALSE for off.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{  }
virtual void SetShadMult ( TimeValue  t,
float  m 
) [inline, virtual]
Remarks:
Sets the shadow color multiplier (density) to the value passed at the specified time.
Parameters:
TimeValue t

The time at which to set the value.

float m

The value to set.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual float GetShadMult ( TimeValue  t,
Interval valid = Interval(0,0) 
) [inline, virtual]
Remarks:
Returns the shadow color multiplier (density) at the specified time and updates the interval passed to reflect the validity of the multiplier controller.
Parameters:
TimeValue t

The time at which to return the value.

Interval &valid = Interval(0,0)

The interval which is updated.
Default Implementation:
{ return 1.0f; }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return 1.0f; }
virtual Texmap* GetProjMap ( ) [inline, virtual]
Remarks:
Returns a pointer to the texmap used as the projector image or NULL if not set.
Default Implementation:
{ return NULL; }

Reimplemented from LightObject.

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return NULL;  }
virtual void SetProjMap ( Texmap pmap ) [inline, virtual]
Remarks:
Sets the texmap to use as the light's projector image.
Parameters:
Texmap* pmap

Points to the texmap to set or NULL to clear it.
Default Implementation:
{}

Reimplemented from LightObject.

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual Texmap* GetShadowProjMap ( ) [inline, virtual]
Remarks:
Returns a pointer to the texmap used as the shadow projector or NULL if not set.
Default Implementation:
{ return NULL; }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return NULL;  }
virtual void SetShadowProjMap ( Texmap pmap ) [inline, virtual]
Remarks:
Sets the texmap to use as the light's shadow projector.
Parameters:
Texmap* pmap

Points to the texmap to set or NULL to clear it.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{}
virtual void SetAmbientOnly ( BOOL  onOff ) [inline, virtual]
Remarks:
Sets the ambient only flag to on or off.
Parameters:
BOOL onOff

TRUE for on; FALSE for off.
Default Implementation:
{}

Reimplemented in MSPluginLight, and MSLightXtnd.

{  }
virtual BOOL GetAmbientOnly ( ) [inline, virtual]
Remarks:
Returns the state of the ambient only flag. TRUE is on; FALSE is off.
Default Implementation:
{ return FALSE; }

Reimplemented in MSPluginLight, and MSLightXtnd.

{ return FALSE; }

GenLight GenLight GenLight GenLight GenLight GenLight GenLight GenLight GenLight GenLight
GenLight GenLight GenLight GenLight GenLight GenLight GenLight GenLight GenLight GenLight