Label Fill Text Image Model

Copyright © 2015 Open Geospatial Consortium 77 int zOrder; Condition[] conditions; Orientation orientation; ScalingMode ScalingMode; };

8.3.14 Orientation

[ConstructorOrientationDict initDict] interface Orientation { attribute double roll; attribute double tilt; attribute double heading; } dictionary OrientationDict { double roll; double tilt; double heading; };

8.3.15 ScalingMode

[Constructorstring type, optional ScalingModeDict initDict] interface ScalingMode { readonly attribute string type; attribute double minScalingDistance; attribute double maxScalingDistance; attribute double scalingFactor; }; dictionary ScalingModeDict { double minScalingDistance; double maxScalingDistance; double scalingFactor; };

8.3.16 VisualAsset2D

interface VisualAsset2D : VisualAsset { attribute string width; attribute string height; attribute string orientationMode; attribute string backside; }; dictionary VisualAsset2DDict : VisualAssetDict { string width; string height; string orientationMode; string backside; };

8.3.17 Label

ARML’s arml root object is injected into each Label before it is constructed. From the arml object a Label can access any object in the scene. Copyright © 2015 Open Geospatial Consortium 78 Requirement http:www.opengis.netspecarml2.0reqscriptingcoreLabelinjection In case ARML 2.0’s ECMAScript bindings are supported, ARML’s arml root object shall be injected into each Label before it is constructed [ConstructorLabelDict initDict] interface Label : VisualAsset2D { attribute string href; attribute string src; attribute string hyperlinkBehavior; attribute int viewportWidth; }; dictionary LabelDict : VisualAsset2DDict { string href; string src; string hyperlinkBehavior; int viewportWidth; };

8.3.18 Fill

[ConstructorFillDict initDict] interface Fill : VisualAsset2D { attribute FillStyleDict style; attribute string class; }; dictionary FillDict : VisualAsset2DDict { FillStyleDict style; string class; }; dictionary FillStyleDict { string color; };

8.3.19 Text

[Constructorstring src, TextDict initDict] interface Text : VisualAsset2D { attribute string src; attribute TextStyleDict style; attribute string class; }; dictionary TextDict : VisualAsset2DDict { TextStyleDict style; string class; }; dictionary TextStyleDict { string fontColor; string backgroundColor; }; Copyright © 2015 Open Geospatial Consortium 79

8.3.20 Image

[Constructorstring href] interface Image : VisualAsset2D { attribute string href; };

8.3.21 Model

[Constructorstring href, ModelDict initDict] interface Model : VisualAsset { attribute string href; attribute string type; attribute Scale scale; string start3DAnimationstring id, int loopCount, EventListener callback; void stop3DAnimationstring animationId; void pause3DAnimationstring animationId; void resume3DAnimationstring animationId; }; dictionary ModelDict : VisualAssetDict { string href; string type; Scale scale; }; start3DAnimation starts an animation that was declared in the Models file. Parameters: id: The animation to start is referenced by an id with which the animation can be identified in the Model file. In case the animations in the Model file are not referenceable with IDs, the position of the Animation in the file starting with 1 can be used as a reference. In case no such animation exists, an Exception must be thrown. Requirement http:www.opengis.netspecarml2.0reqscriptingModelanimationId In case the animationId cannot be resolved, an Exception shall be thrown. loopCount: An optional parameter specifying how often the animation should loop. If loopCount is set to ‐1, the animation will loop infinitively often. If not set, the value defaults to 1. Requirement http:www.opengis.netspecarml2.0reqscriptingModelanimationLoopCount If loopCount is not set, it defaults to 1. If it is set to ‐1, the animation will loop infinitely often. callback: An optional callback function can be supplied which will be executed right after the animation finished with all the loops provided. The callback will not be executed when the animation was manually stopped see stop3DAnimation. For more details on EventListeners, see Event Handling. Copyright © 2015 Open Geospatial Consortium 80 Requirement http:www.opengis.netspecarml2.0reqscriptingModelanimationCallback If set, the callback will be triggered when the animation finished playing all the defined loops. It shall not be triggered when the animation was stopped manually. Returns: a string identifying the 3DAnimation. This String can be used to stop the Animation. stop3DAnimation stops an animation before it regularly finishes. Parameters: animationId: The id returned when the animation was started Returns: void pause3DAnimation pauses a currently running animation. Has no effect if the Animation is not running. Parameters: animationId: The id returned when the animation was started Returns: void resume3DAnimation resumes a currently paused animation. Has no effect if the Animation is not paused. Parameters: animationId: The id returned when the animation was started Returns: void

8.3.22 Scale