The SEDRIS Data Representation Model
APPENDIX A - Classes
Light Source

Abstract Class Name: Light Source

Superclass - <SEDRIS Abstract Base>

Subclasses

Definition

An instance of this 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

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;

3

SE_Boolean

override_positional_lights;

4

SE_Boolean

override_infinite_lights;

5

SE_Boolean

active_light_value;

6


Notes

Composed of Notes


Classification_Data

A <Classification Data> component, if present, allows a data provider to specify whether the <Light Source> instance represents an environmental object, such as the sun.


Light_Source_Control_Link

If a <Light Source> instance is to be turned on and off dynamically, it has a <Light Source Control Link> component to express that control mechanism.

Fields Notes

apply_to_children

For a <Light Source> instance that is a component of some <Aggregate Geometry> instance(s), apply_to_children provides a mechanism for limiting the scope of the <Light Source> instance. If apply_to_children is SE_TRUE, only <Primitive Geometry> instances in the component tree of those <Aggregate Geometry> instances are affected by the <Light Source> instance. If apply_to_children is SE_FALSE, the <Light Source> instance 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 a component of some <Aggregate Geometry> instance, override_positional_lights provides a mechanism to indicate with a value of SE_TRUE that the effect of the <Light Source> instance overrides that of any <Base Positional Light> instances that would have otherwise applied to that <Aggregate Geometry> instance.

EXAMPLE  This might be appropriate if the <Light Source> instance is so close to the affected <Geometry Representation> instance(s) that the effects of the <Base Positional Light> instances would be negligible.

If override_positional_lights = SE_FALSE, the effect of the <Light Source> instance is combined with that of any <Base Positional Light> instances that are already in effect.

override_infinite_lights

For a <Light Source> instance that is a component of some <Aggregate Geometry> instance, override_infinite_lights provides a mechanism to indicate with a value of SE_TRUE that the effect of the <Light Source> instance overrides that of any <Infinite Light> instances that would have otherwise applied to that <Aggregate Geometry> instance. If override_infinite_lights = SE_FALSE, the effect of the <Light Source> instance is combined with that of any <Infinite Light> instances that are already in effect.

active_light_value

A value of SE_TRUE for the active_light_value field indicates that the light is on, while a value of SE_FALSE indicates that the light is off. For a <Light Source> instance with a <Light Source Control Link> component X, the value of the active_light_value field is obtained from X.


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