Client Specific Lights Definition Metadata

131 © 2016 Open Geospatial Consortium Note that light code numbering need not be consecutive. Light codes have a one-to-one association with light types; consequently, the light codes are unique among all light types.

5.1.1.1 Client Specific Lights Definition Metadata

Client-devices use the light type code as an index to lookup the client-specific properties and characteristics of each light type. This approach is client-device independent because the device-specific client’s rendering parameters are local to its implementation. As a result, modelers need not bother setting or even understanding the many parameters specific to each light type and to each client-device type. The CDB standard also offers a complementary approach to modifying the appearance of lights. This approach provides basic control over light intensity, color, lobe width and aspect, frequency and duty cycle to client devices. The approach also permits a modeler to add new light types to the CDB light hierarchy. Example: As an example, we will create a client-specific lights definition metadata file for a hypothetical client-device. The information would be held in the Lights_xxx.xml metadata file corresponding to the client-device for which lights are to be tuned. There can be one file per client-device and the file for each client-device is optional. The file is not required if the modeler does not wish to adjust the basic characteristics of one or more light types for the associated client-device, or heshe doesn’t require new light types to be added to the CDB light hierarchy. The metadata file would be loaded by the client-device whose name matches the “xxx” character string of the Lights_xxx.xml file. As for the Lights, the file would be located at the top of the CDB storage hierarchy in directory \CDB\Metadata\ as described in Section 3.1.1, Metadata Directories. Nominally, the Lights_xxx.xml consists of light type entries corresponding to the light types the modeler wishes to addmodify. Each entry in the Lights_xxx.xml file consists of one or optional fields. Consider the case of a simulator equipped with a client-device rendering simulated imagery for model “A” NVG goggles and a second client-device rendering simulated imagery for model “B” NVG goggles. After viewing the CDB on the simulator, the modeler wishes to diminish the intensity of the \Lights\Cultural\Line-based\Highway lights for model “A” NVG goggles to 90 of the intensity calculated by the simulator. To do this, the modeler creates a Lights_NVG_A.xml, creates a light type entry for \Lights\Cultural\Line-based\Highway and provides an intensity field with value of 0.9. Note that all other characteristics of the light type in this client-device are unaffected since the modeler did not provide additional fields. Furthermore, the characteristics of the light type in all other client-devices remain unaffected since the modeler did not provide other Lights_xxx.xml files. The XML schema for the fields of the Lights_xxx.xml is delivered with the standard in \CDB\Schema\Lights_Tuning.xsd. The fields are: 132 © 2016 Open Geospatial Consortium • Intensity: When a light type is non-native to the CDB standard, which means that it is without a corresponding entry in Annex J Intensity represents the light point intensity for the client-device range normalized from 0.0 to 1.0. When the light entry is native to the CDB standard, Intensity is used as a floating-point intensity modifier that multiplies the intensity calculated by the client-device. In both cases, Intensity defaults to a value of 1.0. • Color: When a light type is non-native to the CDB standard, Color is a floating- point RGB triplet that represents the color of the light type for the client-device range normalized from 0.0 to 1.0. When the light entry is native to the CDB specification, Color is a floating-point RGB triplet that multiplies the RGB value calculated by the client-device. Color applies only to visual system client-device types. If absent in a light type entry, Color defaults to a value of white 1.0, 1.0, 1.0. • Directionality: A string that categorizes the light type as “Omnidirectional”, “Directional” or “Bidirectional”. If absent in a light type entry, Directionality defaults to the value “Omnidirectional”. • Lobe_Width: Represents the identifying section for the light’s lobe width characteristics, which can have a horizontal and vertical attribute. o Horizontal: When a light type is non-native to the CDB specification, the Horizontal field represents the light point’s half-intensity horizontal lobe width for the client-device range from 0.0 to 360.0. When the light entry is native to the CDB standard, Horizontal field is used as a floating-point modifier that multiplies the horizontal lobe width calculated by the client-device. Applies only to Directional and Bidirectional light types. If absent in a light type entry, Horizontal field defaults to a value of 1.0. o Vertical: When a light type is non-native to the CDB standard, Vertical field represents the light point’s half-intensity vertical lobe width for the client-device range from 0.0 to 360.0. When the light entry is native to the CDB standard, Vertical field is used as a floating-point modifier that multiplies the vertical lobe width calculated by the client-device. This applies only to Directional and Bidirectional light types. If absent in a light type entry, Vertical field defaults to a value of 1.0. • Residual_Intensity: When a light type is non-native to the CDB standard, Residual_Intensity represents the residual intensity of the light. Residual intensity is the intensity of the light range normalized from 0.0 to 1.0 outside of the lobe defined by Lobe_Width:Horizontal and Lobe_Width:Vertical fields. When the light entry is native to the CDB specification, Residual_Intensity is used as a 133 © 2016 Open Geospatial Consortium floating-point modifier that multiplies the residual intensity calculated by the client-device. This applies only to Directional and Bidirectional light types. If absent in a light type entry, Residual_Intensity defaults to a value of 1.0. • Frequency: A floating-point value greater than or equal to 0.0 that sets the blink or rotating frequency of the light in Hertz cycles per second. A value of 0.0 disables all blinking and rotating properties. If absent in a light type entry, Frequency defaults to a value of 0.0. • Duty_Cycle: A floating-point value ranging from 0.0 to 1.0 that sets the duty cycle of the light. Duty cycle is defined as the percentage of time the light is turned on over a complete cycle. A value of 0.0 permanently turns the light off. A value of 1.0 turns it on. The value is ignored if Frequency = 0.0. If absent in a light type entry, Duty_Cycle defaults to a value of 0.5. Here is a sample of a Lights_xxx.xml file where a modeler has exercised explicit control over the properties of an anti-collision light and a landing light. Lights_Tuning Light type=\Light\Platform\Air\Aircraft_Helos\Anti-collision DescriptionTuned for MH-47 CMSDescription Intensity0.75Intensity Color1.0 0.0 0.0Color DirectionalityOmnidirectionalDirectionality Frequency0.5Frequency Duty_Cycle0.2Duty_Cycle Light Light type=\Light\Platform\Air\Aircraft_Helos\Landing Description...Description Intensity1.0Intensity Color1.0 0.9 0.9Color DirectionalityDirectionalDirectionality Residual_Intensity0.05Residual_Intensity Lobe_Width Horizontal30.0Horizontal Vertical25.0Vertical Lobe_Width Light Lights_Tuning 134 © 2016 Open Geospatial Consortium

5.1.2 Model Components Definition File