The SEDRIS Data Representation Model
APPENDIX A - Classes
Positional Light

Class Name: Positional Light

Superclass - <Base Positional Light>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class is a <Base Positional Light> that radiates in all directions from a specified point in 3D space, affecting only objects within the sphere of influence centred at that point and specified by the value of its radius field.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

This class appears on only one page of the DRM class diagram.

Example

  1. A streetlight on a pole.

FAQs

No FAQs supplied.

Constraints

None.

Composed of (two-way)(inherited)

Component of (two-way)(inherited)

Inherited 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)
SE_Float radius; (notes)
SE_Long_Float constant_attenuation_factor; (notes)
SE_Long_Float linear_attenuation_factor; (notes)
SE_Long_Float quadratic_attenuation_factor; (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.

Location_3D

 3D position in 3 space.

 This will be affected by hierarchical transformations.

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.

radius

 The radius, which is specified in metres, and which, with
 the <Location 3D> component, defines the zone of influence
 of this <Light Source>.

constant_attenuation_factor

 This is the constant 'a' in the attenuation quadratic (a + bd + cd**2).

linear_attenuation_factor

 This is the constant 'b' in the attenuation quadratic (a + bd + cd**2).

quadratic_attenuation_factor

 This is the constant 'c' in the attenuation quadratic (a + bd + cd**2).

Prev: Polygon Control Link. Next: Predefined Function. Up:Index.

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