OpenFlight File Header Best Practices | OGC

315 © 2015 Open Geospatial Consortium

6.2.2.1 Restrictions

T2DModels being an alternate representation of the terrain and its imagery and materials, a number of restrictions are necessary to ensure client devices can consume the dataset efficiently. 1. A 2DModel has at least two layers, layer 0 and layer 1. 2. Layer 0 is always empty because it represents the terrain on top of which subsequent layers are applied. 3. Each layer is composed of exactly one OpenFlight Object node. 4. All Face and Mesh nodes share exactly the same set of graphic attributes color, textures, material, and other flags. Stated differently, the Face and Mesh nodes provide the shape of the layer while the Object node controls its appearance. 5. Subfaces are not permitted because coplanar geometry is implemented through layers.

6.2.2.2 Node Attributes

For T2DModels, node attributes section 6.12 are permitted only at the zone levels; that is, at the global zone or at the individual 2DModel zones. Node attributes are not permitted at the Group, LOD, Object, Face, and Mesh node levels.

6.2.3 The Use of Node Names

Although the CDB Specification defines naming conventions for objects stored in an OpenFlight file, the Specification does not constrain the OpenFlight node names themselves. Instead, the CDB Specification defines names that are assigned via XML tags stored in the comment record. The following question arises, “Why not establish a set of CDB conventions around node names?” The answer lies primarily around constraints imposed by tools used to editcreate OpenFlight files. Tools such as Creator require unique node names throughout the OpenFlight file. The OpenFlight format Specification itself does not state that node names must be unique; however, a tool such as Creator prevents the modeler from entering the same node name twice. To circumvent this limitation, the CDB Specification provides naming conventions through XML tags inserted in the comment record following a node’s primary record. This way of doing things leaves modelers with the needed freedom in naming nodes. The CDB Specification defines how to organize a model; all extra object attributes that do not fit in the current OpenFlight records are stored in the comment record, including object names. Here is an example of XML tags stored in the comment record for a Group Node.