85 Copyright © 2017 Open Geospatial Consortium
In order to detect the presence of the above construct, the following XML comment must be added to the switch node.
Table 6-29: XML Tags for Motion Blur Switch
CDB:Switch name = Motion_Blur Blurriness...Blurriness
CDB:Switch
The children of the switch node could be any OpenFlight nodes. Most likely, the nodes that contain the geometry will be OpenFlight Object nodes.
When modeling solid and blurred objects in this manner, the CDB Standard requires that the leftmost child node contains the solid version of the object while the sibling nodes to the right
contain increasingly blurred version of the same object.
The XML element Blurriness is a list of percentages representing the transitions between child nodes of the switch. The list counts ‘n-1’ entries where ‘n’ is the number of child nodes.
Requirement 31
Req 31 reqopenflightblurring-transition
The percentages representing the transitions SHALL be limited to the range [0, 99]. The value 100 is not allowed because the level of blurriness SHALL exceed the transition
value in order to select the correct child node.
To illustrate the concept of level of blurriness, assume a motion blur switch has two child nodes. Also, assume that the modeler’s intent is to switch to the second node when the level of
blurriness exceeds 10 . Here, the XML tag associated with the switch should look like this.
Table 6-30: Example of a Motion Blur Switch with One Transition
CDB:Switch name = Motion_Blur Blurriness10Blurriness
CDB:Switch
6.10 Model Articulations Requirements Class – Model Articulations
req openflightmodel-articulations
Target type Operations
86 Copyright © 2017 Open Geospatial Consortium
Dependency Openflight Specification
Requirement 32 reqopenflightarticulation-node-rotation Requirement 33 reqopenflightgimbal-limits
Requirement 34 reqopenflightarticulation-flags
6.10.1 Definition
An OpenFlight DOF node is used to implement the concept of a CDB Articulation. The node gives the modeler controls over all 9 degrees of freedom, translation, rotation and scaling on all 3
axes. Generally, only one degree of freedom is allowed at a time and most often, that single degree of freedom is a rotation about a single axis. However, the modeler is free to allow any
translation, rotation and, even scaling; even though stretching an articulation does not usually produce a realistic effect.
Since only one articulation is allowed per zone, the zone name is sufficient to identify and control the DOF node.
A CDB Articulation node is an OpenFlight DOF node with attributes in the form of XML tags. The table below presents the syntax of the XML tags stored in the DOF node’s comment record.
Table 6-31: XML Tags for DOF
CDB:Articulation name=name id=id Translation
X rate=value Y rate=value
Z rate=value Translation
Rotation X rate=value
Y rate=value Z rate=value
Rotation Scaling
X rate=value Y rate=value
Z rate=value Scaling
CDB:Articulation
The above XML tag is necessary in two circumstances: 1. The articulation represents a DIS Articulated Part.
2. The articulation is to be animated automatically.
87 Copyright © 2017 Open Geospatial Consortium
A CDB Articulation node has an optional name that is used to self-document the articulation. The optional identifier provides the corresponding DIS Articulated Part. It is suggested to use a
name inspired from the DIS Articulated Part ID, when the identifier is supplied. For instance, DIS identifies as Primary Gun 1 the articulated part whose ID is 4416. That example would
generate the following XML tags:
CDB:Articulation name=Primary Gun 1 id=4416
Section 4.7.3 in reference [4] provides a list of DIS Articulated Part IDs. It is possible to specify an optional Rate-of-Change for each Degree of Freedom along their X,
Y, and Z axes for Translation, Rotation, and Scaling. The translation rate is expressed in meters per second. The rotation rate is expressed in degrees per second. Finally, the scaling rate is in
units per second. When not specified, a default rate of zero is assumed.
Requirement 32
Req 32 reqopenflightarticulation-node-rotation
The translation rate SHALL be expressed in meters per second. The rotation rate SHALL be expressed in degrees per second. Finally, the scaling rate SHALL be expressesd in
units per second. When not specified, a default rate of zero SHALL be used.
For instance, a primary radar antenna that rotates at a rate of 10 degrees per second about its Z- axis would require the following XML tags:
CDB:Articulation name=Primary Radar 1 id=5376 Rotation
Z rate=10 Rotation
CDB:Articulation
Another example, to illustrate how to attribute a rotating wind mill; assuming the mill rotates about the Y-axis at a rate of 5 degrees per second:
CDB:Articulation Rotation
Y rate=5 Rotation
CDB:Articulation
Requirement 33
Req 33 reqopenflightgimbal-limits
88 Copyright © 2017 Open Geospatial Consortium
Gimbal limits are mandatory on DOF nodes and the appropriate flags SHALL be set to specify which degrees of freedom are controlled by a particular articulation.
Requirement 34
Req 34 reqopenflightarticulation-flags
The Flags field is located at offset 376 in the OpenFlight DOF record and its value cannot be zero because the articulation SHALL control at least one degree of freedom.
6.10.2 Usage 6.10.2.1 Rotating Parts
A common problem in simulation is to correlate the linear speed of a model with the angular speed of its wheels. More generally, the client device simulation models often require the
dimension of rotating parts. This information can be obtained from the zone extent; the bounding box surrounding a zone provides the dimension of rotating parts.
6.11 Model Light Points