Creates a landscape 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
Stops persisting a given Prism's content across reboots
By default a Prism's content persists across reboots. This means that all opened Prisms are saved when the device shuts down. Prisms that are explicitly closed by the user or app prior to shutdown are not saved. When the device boots up, and the area (dense mesh) is recognized, then all saved Prisms are restored by automatically starting the apps associated with the Prisms and asking them to request new Prisms. If the app saved their content persistence ID locally prior to shutdown, then for each restored Prism they can figure out how exactly to restore it.
the Prism
whether this call was successful or not
Dismss all notifications from this application
Dismiss the given notification
the notification to dismiss
true if the notification was dismissed, false otherwise
Retrieves the current body dynamic type for the Prism
See setBodyDynamic for information on body dynamics.
the Prism
the body dynamic of the Prism
Get the transform of the collision box attached to the given prism.
the prism.
transform of collision box attached to the given prism or null if call was not successful
Get whether the given prism participates in collisions when prisms are in motion.
Prism to get whether collisions are enabled.
True if collisions are enabled for the given prism; false otherwise.
Returns the name of the component this application instance belongs to.
Gets the Content Persistence ID assigned to the Prism
This is the ID assigned to a Prism that is saved across reboots. Note that if this Prism is destroyed before the device shuts down, then this ID is no longer valid. See disableContentPersistence for more information on content persistence.
the Prism
the Content Persistence ID assigned to this Prism
Gets the LocaleHelper that's set to the current system locale
the current system LocaleHelper
Gets the bool for whether direct manipulation is enabled or not for this Prism
See setDirectManipulationEnabled for information on direct manipulation.
the Prism
whether direct manipulation is enabled for the prism
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
Gets the physical size range of the Prism
See setPhysicalSizeRange for information on size ranges.
the Prism
pair of minimum/maximum phisical size this prism can be, in meters or null if call was not successful
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
Gets the scale mode of the Prism
See setBodyDynamic for information on scale modes.
the Prism
the scale mode retrieved from the Prism
Gets whether this Prism should snap while being moved or not
See setSnap for information on snapping.
the Prism
whether this Prism is snapping or not
Returns the application's path for temporary files
Returns the user-visible name for this application.
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.
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
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.
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
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
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.
Sets a body dynamic with the given parameters to the Prism
A body dynamic is how the Prism behaves passively in the landscape. For example, one body dynamic can make a Prism rotate (billboard) towards the user as they walk around the Prism. By default Prisms are static (un-moving) once placed in the landscape.
the Prism
the body dynamic type to set to the prism
whether this call was successful or not
Set the components of the transform of the collision box attached to the given prism.
The transform of the collision box is relative to the boundaries of the prism. It is required that the final transformed collision box not exceed the boundaries of the prism itself along any axis.
Prism whose collision box will be affected.
Position to set for the collision box attached to the given prism. The default value is the origin: (0, 0, 0).
Rotation to set for the collision box attached to the given prism, which must be normalized. The default value is unrotated.
Scale to set for the collision box attached to the given prism. The default value is unscaled: (1, 1, 1).
True if the call was successful and the collision-box transform was set; false otherwise, in which case additional information will be posted in the log.
Set whether the given prism participates in collisions when prisms are in motion.
This capability has been provided for app developers to handle edge cases involving multi-prism apps. By default, collisions are enabled when new prisms are created. It is recommended to change it only with discretion.
Prism to enable/disable collisions.
Collisions will be enabled if true; disabled if false.
True if this call was successful; false otherwise.
Sets whether this Prism can be directly manipulated while being moved or not
Whether to support direct manipulation of the Prism's position in 6dof. Direct manipulation is analogous to grabbing an object with your hand, but using the Control instead. The grabbed prism is attached to the Control's pose while moving it. This is true by default.
the Prism
Whether this prism can be directly manipulated or not.
whether this call was successful or not
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.
Sets the physical size range for the Prism
The range of physical sizes (extent * scale) that this prism's largest extent can be scaled to.
the Prism
the minimum physical size this prism can be, in meters
the maximum physical size this prism can be, in meters
whether this call was successful or not
Sets the scale mode for the Prism
When a Prism is directly manipulated, the user can scale it. This sets which dimension for the Prism to be scaled (by default width, height, and depth are scaled).
the Prism
the scale mode to set to the Prism
whether this call was successful or not
Sets whether this Prism should snap while being moved or not
"snapping" basically means that while a Prism is being moved by the user and it is near a stationary Prism, then the moving Prism will suddenly move adjacent to the stationary Prism.
the Prism
whether this Prism should snap or not
whether this call was successful or not
Start a full screen exclusive mode for a landscape app which does its own rendering full screen
exclusive client options
OpenGL render context
owner volume id
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
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 landscape apps.