The SEDRIS Data Representation Model
APPENDIX A - Classes
Pyramid Directional Light

Class Name: Pyramid Directional Light

Superclass - <Directional Light Behaviour>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

A light whose intensity varies depending on the observer's position relative to the light's location, direction, and lobe, which is pyramid-shaped.

It is possible when defining the <Lobe Data> component of a <Pyramid Directional Light>, to set the horizontal_width or vertical_width to 0. When one of these values is set to 0, then it means infinity, and that there are no bounds in that direction. The shape of the light then becomes a wedge shape.

If a secondary colour exists, then it is seen outside the lobe.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

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

Example

  1. Consider a <Pyramid Directional Light> with a primary colour that is a <Colour Index> with intensity = 0.9, and which also has a secondary colour. The minimum_colour_intensity is 0.0. The use_full_intensity flag is SE_FALSE. The <Lobe Data> component has horizontal_width = 60.0 and vertical_width = 60.0.

    equation:

    final_intensity = minimum_colour_intensity + ((((width / 2.0) - degrees_away_from_direction_vector) / (width / 2.0)) * (full_intensity - minimum_colour_intensity))

    At 10 degrees from the light direction vector in the horizontal direction, the final_intensity is 0.6 = 0.0 + ((((60.0 / 2.0) - 10.0) / (60.0 / 2.0)) * (0.9 - 0.0))

    At 35 degrees from the light direction vector in the horizontal direction, the final_intensity is 1.0 (using the secondary colour), because this lies outside the lobe.

  2. Consider a <Pyramid Directional Light> with a primary colour that is an <Inline Colour>, so that the full intensity is 1.0. The minimum_colour_intensity is 0.2. The use_full_intensity flag is SE_TRUE. The component <Lobe Data> horizontal_width is 20.0 and the vertical_width is 20.0.

    Lying on the light direction vector (i.e., at 0 degrees), the final_intensity is 1.0.

    At 10 degrees from the light direction vector in the horizontal direction, the final_intensity is 0.2, since this position is outside the lobe.

FAQs

No FAQs supplied.

Constraints

None.

Composed of (two-way)(inherited)

Component of (two-way)(inherited)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Boolean use_full_intensity; (notes)
SE_Long_Float minimum_colour_intensity; (notes)
SE_Boolean invisible_behind; (notes)

Notes

Composed of Notes


Lobe_Data

 This specifies the lobe shape.

Fields Notes


use_full_intensity

 If SE_TRUE, this value indicates that the full intensity of the
 light is shown in the pyramid shaped area. Otherwise, the intensity
 of the light decreases (towards the minimum_colour_intensity
 value) as one moves away from the SE_REF_VEC_TYP_LIGHT_DIRECTION
 vector.

minimum_colour_intensity

 This value shall be between [0.0, 1.0].

 This value is used in conjunction with the primary colour's
 intensity value. If the primary colour is a <Colour Index>, the
 full intensity is specified by its intensity_level field. If
 the primary colour is an <Inline Colour>, the full intensity
 is 1.0.

 A location in the direct path of the <Lobe Data>'s
 SE_REF_VEC_TYP_LIGHT_DIRECTION vector receives the
 full intensity value. If use_full_intensity is SE_FALSE,
 the intensity decreases with increasing distance from
 the light direction vector, until the boundary
 specified by the horizontal and vertical <Lobe Data>
 widths is reached. Outside the lobe, the intensity is
 minimum_colour_intensity.

 If the minimum_colour_intensity value is 0.0, the
 secondary colour (if present) will be seen outside the
 lobe. If no secondary colour is present, then nothing
 is visible outside the lobe.

invisible_behind

 If this value is SE_TRUE, the directional light is invisible when
 viewed from behind the plane of the directional light.

Prev: Pseudo Code Function. Next: Quad Tree Data. Up:Index.

Last updated: May 15, 2003 Copyright © 2003 SEDRIS™