The SEDRIS Data Representation Model
APPENDIX A - Classes Spatial Index Related Geometry Topology |
---|
An instance of this DRM class specifies a spatially indexed related aggregation representing a collection of primitive <Geometry Topology> instances.
Consider a plat of a residential subdivision whose streets and driveways are represented using <Polygon> instances organized by a <Spatial Index Related Geometry> instance. To represent the geometric topology of the subdivision, the <Spatial Index Related Geometry> instance has a <Spatial Index Related Geometry Topology> component that represents the set of all <Geometry Topology> instances showing how the driveways of houses in the subdivision are connected to the streets of the subdivision.
We need a 'branch', and each branch from an aggregation is a hierarchy object, because <Aggregate Geometry> instances contain <Geometry Hierarchy> instances. When an <Aggregate Geometry> instance has a <Geometry Topology Hierarchy> component, that <Aggregate Geometry> instance represents a distinct topological surface. We shall organize a topological surface, a.k.a. an "independent topology", which eventually, in the DRM, is 'rooted at' a single <Aggregate Geometry> instance.
The <Geometry Hierarchy> instances are either <Aggregate Geometry>, <Property Grid Hook Point>, or <Geometry Model Instance> instances. The topological organization of a <Model> instance, if any, is contained within the <Model> instance, so we're left with a need to specify the topological organization of an <Aggregate Geometry> instance. The organizing principle shall be applied at the <Aggregate Geometry> level - no lower, no higher.
The same spatial indexing structure can be shared by multiple <Aggregate Geometry> because there could exist multiple classification organizations of the same set of <Geometry Representation>. When a single set of <Geometry Representation> is organized by multiple classification approaches, it is still the same set of <Geometry Representation> being dealt with, and still the same set of <Geometry Node>, <Geometry Edge>, and <Geometry Face> instances. Changing the logical organization of the <Geometry Representation> has no effect on the spatial organization of the underlying topological primitives. Thus, one spatial organization for a set of topological primitives may be shared by many different organizations (aggregations) of <Geometry Representation> where the <Geometry Representation> are composed of the same spatially organized topological primitives, regardless of which organization the <Geometry Representation> are viewed from.
SE_Geometry_Topology_Level | geometry_topology_level; | 2 |
---|
SE_Boolean | sparse; | 3 |
---|---|---|
SE_Integer_Positive | column_count; | 4 |
SE_Integer_Positive | row_count; | 5 |
SE_Long_Float | column_width; | 6 |
SE_Long_Float | row_width; | 7 |
SE_Spatial_Index_Spacing_Unit | spacing_unit; | 8 |
The geometry_topology_level field specifies the level of geometry topology that is present within the hierarchy represented by the <Geometry Topology Hierarchy> instance.
If the value of the sparse field is SE_FALSE, all column and row entries are present; otherwise one or more entries are not present.
The column_count field specifies the number of cells along the primary axis.
The row_count field specifies the number of cells along the secondary axis.
The column_width field specifies the length of a cell in the given unit along the primary axis.
The row_width field specifies the length of a cell in the given unit along the secondary axis.
The spacing_unit field specifies the unit of measurement for column_width and row_width.
|