The SEDRIS Data Representation Model
APPENDIX A - Classes
Light Source

Abstract Class Name: Light Source

Superclass - <SEDRIS Abstract Base>

Subclasses

Definition

An instance of a concrete subclass descended from this abstract DRM class specifies a source of light emission.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

See individual subclasses for examples.

FAQs

What about linear or area light sources?

This definition does not attempt to address linear or area light sources; it is fashioned after the OpenGL abstraction of light.

Why isn't my favorite light source addressed?

Only light sources specific to CIG lighting have been addressed.

Constraints

None.

Composed of (two-way)

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Boolean apply_to_children; (notes)
SE_Boolean override_positional_lights; (notes)
SE_Boolean override_infinite_lights; (notes)
SE_Boolean active_light_value; (notes)

Notes

Composed of Notes


Light_Source_Control_Link

 If a <Light Source> instance is subject to dynamic control -
 that is, if it can be turned on and off - it will have a
 <Light Source Control Link> component to express that
 control mechanism.

Fields Notes


apply_to_children

 For a <Light Source> instance (that is, an instance of one of the
 concrete classes descended from the class) that is a component of
 some <Aggregate Geometry>, apply_to_children provides a mechanism
 for limiting the scope of the <Light Source>. If apply_to_children
 is SE_TRUE, only <Primitive Geometry> in the component tree of those
 <Aggregate Geometry> instances are affected by the given
 <Light Source>. If apply_to_children is SE_FALSE, the <Light Source>
 is not limited to the scope of those <Aggregate Geometry> instances
 and thus applies globally.

override_positional_lights

 For a <Light Source> instance (that is, an instance of one of the
 concrete classes descended from the class) that is a component of
 some <Aggregate Geometry>, override_positional_lights provides a
 mechanism to indicate with a value of SE_TRUE that the effect of the
 given <Light Source> overrides that of any <Base Positional Light>
 instances that would have otherwise applied to that
 <Aggregate Geometry> - for example, if the given <Light Source> is
 so close to the affected <Geometry> that the <Base Positional Light>
 effects would be negligible. If override_positional_lights is
 SE_FALSE, the effect of the given <Light Source> is combined with that
 of any <Base Positional Light> instances that are already in effect.

override_infinite_lights

 Flag to reset the current cumulative definition of Infinite Light_Sources.
 For a <Light Source> instance (that is, an instance of one of the
 concrete classes descended from the class) that is a component of
 some <Aggregate Geometry>, override_infinite_lights provides a
 mechanism to indicate with a value of SE_TRUE that the effect of the
 given <Light Source> overrides that of any <Infinite Light>
 instances that would have otherwise applied to that
 <Aggregate Geometry> - for example, if the given <Light Source> is
 so close to the affected <Geometry> that the <Infinite Light>
 effects would be negligible. If override_infinite_lights is
 SE_FALSE, the effect of the given <Light Source> is combined with that
 of any <Infinite Light> instances that are already in effect.

active_light_value

 A value of SE_TRUE indicates that the light is on, while a value of
 SE_FALSE indicates that the light is off. For a <Light Source>
 with a <Light Source Control Link> instance as a component,
 this is the default state of the light.

Prev: Light Rendering Properties Control Link. Next: Light Source Control Link. Up:Index.

Last updated: October 1, 2002 Copyright © 2002 SEDRIS™