Creates an immersive application instance.
default = 0.0
- the preferred update rate as a time interval in seconds.
As a special case, 0.0f represents event-based mode, where update callbacks
will not happen at regular intervals -- only in response to events.
Maps Control's 6DoF to a NamedInputEventData.
The name of the NamedInputEventData.
The Id that can be used to identify this event when received in the eventListener
Maps a Control button to a NamedInputEventData.
The name of the NamedInputEventData.
The button's key code
default = false
Whether the event should be emitted on long press (true) or short press (false)
The Id that can be used to identify this event when received in the eventListener
Maps eye tracking events to a NamedInputEventData.
The name of the NamedInputEventData.
The Id that can be used to identify this event when received in the eventListener
Maps the hand gesture to a NamedInputEventData.
The name of the NamedInputEventData.
Hand gesture type.
default = false
Whether the event should be sent immediately (true), or send only if the
gesture is held for 1.5 seconds (false).
default = true
Whether the event should be repeated (true), or send only once (false).
default = 0xFFFFFFFF
Hand index that the event should be associated with
(Left = 0, Right = 1, Both = 0xFFFFFFFF).
The Id that can be used to identify this event when received in the eventListener.
Maps a Control gesture to a NamedInputEventData.
The name of the NamedInputEventData.
Touch gesture type.
default = input.GestureDirection.UNKNOWN
Gesture's direction (GestureDirection::UNKNOWN for all).
The Id that can be used to identify this event when received in the eventListener
Checks if a privilege is currently granted.
The privilege ID to check
Granted or Denied
Deletes the prism
the Prism to delete
Deregister this client from receving invites
true if successfully deregistered, false otherwise
Dismss all notifications from this application
Dismiss the given notification
the notification to dismiss
true if the notification was dismissed, false otherwise
Returns the name of the component this application instance belongs to.
Gets the LocaleHelper that's set to the current system locale
the current system LocaleHelper
Returns the height (y-value) of the floor, if known, in world coordinates.
Returned floor height.
Get the underlying system's confidence in the headpose values
a value between 0.0 and 1.0 indicating the confidence
Get the current headpose error (if any)
the current headpose error
Get the current headpose mode (6-DOF or 3-DOF)
the current headpose mode
Get the Headpose forward vector in world space.
the world space headpose forward vector.
Get the Headpose position in world space.
the world space headpose position.
Get the Headpose up vector in world space.
the world space headpose up vector.
Get the input state tracking system (used to maintain the list of active input devices and track their input)
a pointer to the input state tracking system
Get the system locale code
Returns the nearest Persistent Coordinate Frame to a given world location. NOTE: This function can be slow, use sparingly.
Position to get the PCF from.
The PCF. If it is INVALID_PCF, it is likely the world mesh hasn't been built up enough to create the PCF data, or the app doesn't have the PcfRead privilege set.
Returns the number of Persistent Coordinate Frames the system knows about.
The PCF count.
Returns a list of the Persistent Coordinate Frames the system knows about. It is suggested that this function should only be called when getPCFCount() > 0 and has changed since the previous call.
PCF list.
Returns the package name for this application.
Returns the application's path
Get an object clients can use to find preloaded resources.
Returns pointer to the Prism
the Id of the Prism
The prism
Returns the position of a volume in world space
the prism
Returns the rotation of a volume in world space
the prism
Returns the transform of a volume in world space
the prism
The transform of the Prism in world space
Returns the application's path for temporary files
Returns the user-visible name for this application.
Returns the world mesh data for a block at a given location.
Block position in world-space.
Class that will be filled in with the block data.
true if blockData has valid data
Returns the application's writable path.
This folder is accessible to the application when the user has logged in once, even if the device is locked and not in use. An application that needs to write data when running in the background (e.g. a music app) should use this path. The same application can continue using this path when the device is unlocked afterwards.
Returns the application's writable path while unlocked.
This folder is accessible to the application when the user has logged in and the device is unlocked and being used.
Gets whether hand occlusion is currently enabled or not
true if currently enabled, false otherwise
Returns if the image tracking system is ready to be used. Do not call any image tracking functions until this function returns true.
Currently image tracking is only available for immersive apps.
true if we can start tracking images.
Get Internet Connection status. return True if there is a connection, otherwise false.
Returns if the app running is a Shareable app
Returns the skip raycast state of the volume.
The Prism.
true if the prism is skipped during raycasting
Get WiFi Connected status. return True if there is a connection, otherwise false.
Get WiFi Enabled status. return True if Wifi is enabled in settings, otherwise false.
Lock the LocaleHelper to the given locale. It will no longer change when the system locale is changed
the lock that the LocaleHelper will be locked to
Sets the Orientation of the Prism
the prism
the new prism orientation quaternion
Sets the Orientation of the Prism relative to the Camera
the prism
the new prism orientation quaternion
Sets the Prism Position
the prism
the new prism position
Sets the Prism Position relative to the camera
the prism
the new prism position, relative to the camera
Post the given notification
the notification to post
true if the notification was posted successfully, false otherwise
The application will terminate on the next update loop when this is called.
Do a raycast in a prism and return the results.
Prism to do the ray in.
Ray starting position, in volume coordinates.
Ray end position, in volume coordinates.
Hit data.
Register this client to receive invites
true if successfully registered, false otherwise
Register a callback for when the system locale is changed
the function to be called (the new locale code is given as a parameter)
the internal ID of the callback, can be used to unregister the callback
Get a new Prism for use by the Application
width, height, and breadth of the prism.
default = PrismType.kWorld
- Type of Prism (eg: Tied to Headpose or Fixed in the world)
Prism - The prism
Asynchronously requests a privilege.
The result will be returned on the main thread as a PrivilegeEvent.
The privilege ID to request
Makes a blocking request for a privilege (may require user interaction).
The privilege ID to check
Granted or Denied
Request to get updates when world mesh block data has changed. WorldMeshBlockEventData messages will be sent to the app's eventListener function when there is a change to the mesh blocks.
Prism used to send the event messages.
true if the request was made successfully
Sends a request to the server to search for planes in the environment that match given criteria. A WorldPlaneCastEventData instance will be sent to the app's eventListener function when the data is ready.
Position in world-space that is the center of the search space.
Max distance from the center to search for planes.
Maximum number of planes to return.
Flags to determine what kind of planes to look for.
Value that will be sent back in the WorldPlaneCastEventData instance.
true if the request was sent, false on error
Performs a single ray cast against the world around you. Results are returned as a WorldRayCastEventData to the app's eventListener function.
The start point of the ray, in world space.
Direction to shoot the ray
Custom data that you wish to record with this request
default = 0.199
Confidence level (between 0 and 1) that must be reached for the
raycast to be considered valid
true if the request was sent, false on error
Performs an area ray cast against the world around you. Results are returned as a WorldRayCastEventData to the app's eventListener function.
The start point of the ray, in world space.
Direction to shoot the ray
Number of horizontal rays
Number of vertical rays
Horizontal field-of-view, in degrees
Custom data that you wish to record with this request
default = 0.199
Confidence level (between 0 and 1) that must be reached for the
raycast to be considered valid
true if the request was sent, false on error
Resizes the Prism
the prism to resize
the new size of the prism
Selects or deselects the specified prism.
Input and other events are delivered only to the selected prism.
the prism
true to select; false to deselect
Sets the callback function to be called when audio output device is changed. Note: The callback will run on main thread. No need to use runOnMainThread() inside the callback.
std::function to be called as callback. See AudioOutputDeviceChangedCallback.
Set the Event Sleep Time
This is the amount of time the client should sleep before firing the updateloop callback, if no other events have occured.
Time to sleep in seconds, or 0.0f to sleep indefinitely, until an event occurs.
Enables or disables hand occlusion
Set to true to enable hand occlusion, false to disable
Toggles occlusion.
true to enable occlusion, false to disable
Sets the skip raycast state of the prism. If the prism is skipped, all its Nodes will be as well.
The Prism.
Raycast skip flag.
Start a full screen exclusive mode for a landscape app which does its own rendering full screen
exclusive client options
OpenGL render context
exclusive mode renderer
Stop full screen exclusive mode
Stops tracking an image. If no images are being tracked, will disable tracking.
Currently image tracking is only available for immersive apps.
Name of the image. Should be the same as the name passed to one of the the trackImage functions.
true if tracking the image was stopped
Request to stop getting updates when world mesh block data has changed.
Prism used to make the requestWorldMeshBlockUpdates call.
true if the request was made successfully
Starts a request to track a moving image, based on an image file. Moving images are harder to track than non-moving ones; use this function only if sure the image is moving. This will enable tracking if it is not already enabled.
Currently image tracking is only available for immersive apps.
Unique name for the image.
Approximate size of the image, in meters. This is used to help identify the image.
File name of the image to track. Name is relative to the app's location.
Where to send the image position info
true if tracking was started, false if there was an error.
Starts a request to track an non-moving image, based on an image file. Static images are easier to track than moving ones, so use this method if possible. This will enable tracking if it is not already enabled.
Currently image tracking is only available for immersive apps.
Unique name for the image.
Approximate size of the image, in meters. This is used to help identify the image.
File name of the image to track. Name is relative to the app's location.
Where to send the image position info
true if tracking was started, false if there was an error.
Request vibration haptics on the body of the control device
the vibration pattern to use
default = 100
the duration to play the pattern over (ms)
default = haptics.VibeIntensity.MEDIUM
the intensity of the vibration
default = INVALID_CONTROL_ID
the ID of the control to use (0 will be the primary control)
default = INVALID_DEVICE_ID
the internal ID of the device to use (note, this takes precedence over the control ID)
Trigger a custom control haptic
and individual custom haptic
default = INVALID_CONTROL_ID
the ID of the control to use (0 will be the primary control)
default = INVALID_DEVICE_ID
the internal ID of the device to use (note, this takes precedence over the control ID)
Trigger a list of custom control haptics
the combined list of haptics
default = INVALID_CONTROL_ID
the ID of the control to use (0 will be the primary control)
default = INVALID_DEVICE_ID
the internal ID of the device to use (note, this takes precedence over the control ID)
Trigger a control vibration haptic
the VibePattern to trigger
default = INVALID_CONTROL_ID
the ID of the control to use (0 will be the primary control)
default = INVALID_DEVICE_ID
the internal ID of the device to use (note, this takes precedence over the control ID)
Trigger a control LED haptic
the LedPattern to trigger
default = INVALID_CONTROL_ID
the ID of the control to use (0 will be the primary control)
default = INVALID_DEVICE_ID
the internal ID of the device to use (note, this takes precedence over the control ID)
Request light haptics on the LEDs of the control device
the LED light pattern to use
default = 100
the duration to play the pattern over (ms)
default = haptics.VibeIntensity.MEDIUM
the intensity of the haptic
default = INVALID_CONTROL_ID
the ID of the control to use (0 will be the primary control)
default = INVALID_DEVICE_ID
the internal ID of the device to use (note, this takes precedence over the control ID)
Unlock the locale of the LocaleHelper. This will set the LocaleHelper back to the current system locale
Unregister a callback for when the system locale is changed
the ID of the callback to unregister
true if succesfully unregistered, false otherwise
This call will block the caller thread until the app has finished running. It must NOT be called from the client update thread or it will assert.
Generated using TypeDoc
Base class for Lumin Runtime immersive apps.