Geometry
The common object model includes geometry which can be used to exchange information on the physical shape and location of objects in the environment. Having a common object model for this alleviates some of the burden of having to synchronize environment models between applications. For example, a driving simulator can publish a terrain mesh, building meshes and road centerline splines, which can then be visualized in a scenario viewer without having to store that information within the scenario viewer application.
Much of the same principles as for entity metadata apply to geometry. An application owns geometry, publishes create/destroy/update messages, and applications can request updates, i.e. when a scenario viewer connects during a running simulation and wants to visualize geometry. The Unity and Unreal clients include a mechanism for deciding who is the persistent geometry owner between multiple instances of the same application, so that only one of these instances publishes geometry.
Geometry information is exchanged on the geometry
channel using the Geometry definition.
Entity geometry
Entity geometry, typically a mesh, can be used to define the shape of a certain entity type. Typically used to represent an entity (such as a car) in a scenario viewer.
Scenario geometry
Scenario geometry defines a shape of a static object in the virtual world. It might be either a physical object, e.g. the ground, a road or a building, or a non-physical object to be visualized, e.g. a spline used by an agent for navigation.