Declarative and Scripting Specification Document Structure ARML 2.0 Object Model Diagram

Copyright © 2015 Open Geospatial Consortium 11 Computer Vision‐based AR Feature The security features of a 10‐dollar‐note Anchor A US 10 Dollar‐note along with the location of the security features on the note. VisualAsset Some buttons that can be pressed to get more information on a particular security feature Result As soon as the 10 Dollar note is detected in the scene, the VisualAssets are projected onto the note in the correct positions.

6.1.2 Declarative and Scripting Specification

ARML 2.0 comes with a declarative specification, serialized in XML, describing the objects in the AR scene section 7, as well as a scripting specification allowing dynamically modifying the scene and reacting on user‐triggered events section 8. The scripting specification uses ECMAScript for the scripting parts and a JSON serialization of the objects for accessing the objects properties. The scripting specification declares hooks to the descriptive spec, so both specs, while existing separately from another, work together for a dynamic experience. An implementation can chose to only support the declarative spec for instance in case scripting parts cannot be implemented on the platform the implementation is running on. The scripting specification contains sections, which are intended for advanced users only. These sections are clearly marked as Advanced ARML in the title and are intended for those already familiar with the basic concepts of ARML.

6.1.3 Document Structure

An ARML document is grouped into three parts: The declarative part AR Elements, the styling part and the scripting part. ฀ The ARElements element contains a list of ARElement objects, as specified in the ARML specification below. ฀ The optional style element contains styles typically CSS used for styling the virtual objects in the scene. ฀ The optional script part contains scripting code typically ECMAScript or JavaScript. Copyright © 2015 Open Geospatial Consortium 12 The following section will describe the ARElements section. Requirement http:www.opengis.netspecarml2.0reqcoreparse_encoding An implementation shall be able to parse valid ARML 2.0 XML encodings, as defined in section 7.

6.1.4 ARML 2.0 Object Model Diagram

ARML 2.0 is built on top of a generic object model to allow future serializations in different languages, as well as good extensibility for future needs. The diagram below shows the generic object model in ARML 2.0.

6.1.5 Units