Model Articulations Requirements Class – Model Articulations

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