ShapeDiver Viewer - State API
The state interface is part of the global API.
It allows to
- get an overview of the current state of the viewer instance,
- influence the state of the viewer instance and its visual representation,
- add and remove listeners for related events.
Methods
-
addEventListener(type, callback)
-
Add a callback to be invoked when a certain event occurs
Parameters:
Name Type Description type
StateEventType Type of event to subscribe to
callback
EventListenerCallback Function to be called when the event fires
Returns:
-
Type Description APIResponse APIResponse with an EventListenerToken object. The event listener token can be used to remove the event listener by calling removeEventListener.
-
-
get()
-
Retrieve the current state of the viewer
Returns:
-
Type Description APIResponse API response with data of type ViewerAppState. Description of the current state of the viewer application.
-
-
removeEventListener(token)
-
Remove an event listener
Parameters:
Name Type Description token
EventListenerToken event listener token for event listener to be removed
Returns:
-
Type Description APIResponse APIResponse with a Boolean data, indicating whether the event listener could be removed.
-
-
setBusy(busy [, progress])
-
Register the API as a busy process of the viewer app
Parameters:
Name Type Argument Description busy
Boolean If true, a busy process will be registered, causing the viewer app to enter busy mode. If false and a busy process of the API had been registered before, it will be removed.
progress
Number <optional>
Set the percentage of completion in interval [0,1]. If progress bars are displayed, this will influence them.
Returns:
-
Type Description APIResponse API response with data of type ViewerAppState. Description of the current state of the viewer application.
-
Members
-
<readonly> EVENTTYPE
-
Enum for supported state event types.
Properties:
Name Type Default Description BUSY
busy viewer has entered busy state
IDLE
idle viewer has entered idle state
MESSAGE
message a message which may be displayed to the user
FAILED
failed a message reporting a fatal error, e.g. the WebGL context was lost and could not be recovered
Type Definitions
-
StateEventType
-
Status event type, see EVENTTYPE for values
Type:
- String
-
ViewerAppState
-
Viewer state description
Type:
- Object
Properties:
Name Type Description busy
Boolean true if the viewer is in busy mode, false if the viewer is in idle mode
progress
Number minimum progress of all processes currently reporting a progress, interval [0,1]
processes
Object.<String, Object> List of currently active processes
failedStatusMessages
Array array of status messages corresponding to fatal errors