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.