The SEDRIS Data Representation Model
APPENDIX A - Classes Primitive Geometry |
---|
This DRM class is an abstract class that specifies the basic data to describe a <Geometry>.
p1 |--------| p2 p3 |----| |----|----| p4 p5 p6 p7 p8
In order to consume, set up a component iterator for <Primitive Geometry> on the first <Union Of Primitive Geometry> with search depth of 0 and traversal method to SE_TRAV_ORDR_DEPTH_FIRST. This will return the <Polygon> instances in their rendering order.
As a constraint, <Union Of Primitive Geometry> components of <Continuous Level Of Detail Geometry> instances are not allowed to have other <Union Of Primitive Geometry> instances within the scope of any of their <Primitive Geometry> components, a mechanism provided to allow a data provider to specify subfacing information. A terrain <Polygon> usually does not have subfaces. If there is a terrain <Polygon> within another coplanar <Polygon>, then a <Rendering Priority Level> instance can be provided to determine the correct drawing order. This is usually a layering issue, wherein soil is usually rendered first, then vegetation, then water, and so on.
<Rendering Priority Level> should be handled normally. If one is encountered, then the siblings for that <Polygon> should be examined and those siblings with a lower rendering priority should be processed before those with a higher rendering priority.
The ordering_reason could still be valid for any of the enumerants currently in SE_Ordering_Reason. The actual drawing order is explicitly defined using a depth-first search for the <Primitive Geometry>.
A <Primitive Geometry> contains a <Union Of Primitive Geometry> instance as a component only when that <Primitive Geometry> can be decomposed into nested <Primitive Geometry>, as (for example) a <Polygon> can be decomposed into subfaces.
|