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

An instance of this DRM class specifies a light, the intensity of which 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_level = 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 (that is, 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

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, the use_full_intensity field specifies 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

 The minimum_colour_intensity field's value is used in conjunction
 with the primary colour's intensity value. If the primary colour
 is a <Colour Index> instance, the full intensity is specified by
 its intensity_level field. If the primary colour is an
 <Inline Colour> instance, 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 the value of the invisible_behind field is SE_TRUE, the
 directional light is invisible when viewed from behind the
 plane of the directional light.

Prev: Pseudo Code Function. Next: Quadrant Data. Up:Index.

Last updated: July 16, 2004 Copyright © 2004 SEDRIS