This app is a unified controller for all OVE apps. It makes use of transformation APIs exposed by OVE apps and supports common pan and zoom operations.
The state of this app has a format similar to:
{
"mode": "group",
"groupId": "1",
"showTouch": true
}
The mode
property is mandatory and should have a value of space
, group
or geometry
. The groupId
property is optional, and must only be provided if mode
is group
. The showTouch
property can be used to specify whether the Touch overlay is enabled for the viewers.
The app will assume control of the entire space
if the mode
is set to space
. But, if the mode is geometry
it will however be limited to the geometry defined by the x
, y
, w
and h
properties set when creating the app. In both cases, the visible area of the controllers and the touch surfaces, would be limited to the x
, y
, w
and h
properties set when creating the app.
All OVE applications can be launched using the Launcher UI, the Python Client Library, and the OVE APIs. The API used to launch an application is the same for all applications, but the data that is passed into it is application-specific.
To launch the controller app using the OVE APIs:
curl --header "Content-Type: application/json" --request POST --data '{"app": {"url": "http://OVE_CORE_HOST:PORT/app/controller","states": {"load": {"mode": "space"}}}, "space": "OVE_SPACE", "h": 500, "w": 500, "y": 0, "x": 0}' http://OVE_CORE_HOST:PORT/section
Windows:
curl --header "Content-Type: application/json" --request POST --data "{\"app\": {\"url\": \"http://OVE_CORE_HOST:PORT/app/controller\", \"states\": {\"load\": {\"mode\": \"space\"}}}, \"space\": \"OVE_SPACE\", \"h\": 500, \"w\": 500, \"y\": 0, \"x\": 0}" http://OVE_CORE_HOST:PORT/section
The controller of the app can be loaded by accessing the URL http://OVE_CORE_HOST:PORT/app/controller/control.html?oveSectionId=SECTION_ID
. The controller supports panning and zooming operations.