API reference
API reference
Select your platform
No SDKs available
No versions available

MRUKFeature

MRUKFeature

class MRUKFeature : SpatialFeature
MRUK - Mixed Reality Utility Kit
MRUK offers enhanced scene-related functionality utilizing OpenXR scene APIs. It facilitates loading rooms along with their scene anchors. Additionally, MRUK supports loading scenes from JSON files (as demonstrated in the MRUK sample), enabling testing of various room configurations. Take a look at MrukSampleActivity to see how it can be used. The MRUKFeature serves as the primary entry point for MRUK, handling the loading of scene data from the device. If loadSceneFromDevice or loadSceneFromJsonString are called multiple times MRUK will add, update, and remove rooms to keep the rooms in MRUKFeature in sync with the rooms that are in the system. MRUKFeature provides callbacks that can be used to get notified when rooms or anchors get added, updated, or removed.

Constructors

NameSummary
MRUKFeature
constructor(context: <Error class: unknown class>, systemManager: SystemManager)

Properties

NameSummary
context
val context: <Error class: unknown class>
rooms
val rooms: MutableList<MRUKRoom>
systemManager
val systemManager: SystemManager

Functions

NameSummary
addSceneEventListener
fun addSceneEventListener(listener: MRUKSceneEventListener)
clearRooms
fun clearRooms()
componentsToRegister
open override fun componentsToRegister(): List<ComponentRegistration>
Registers components that should be used by the application.
earlySystemsToRegister
open fun earlySystemsToRegister(): List<SystemBase>
Registers systems that should be executed during the early stages of the application lifecycle.
findRoom
fun findRoom(roomUuid: UUID): MRUKRoom?
Find a room that matches the given roomUuid
finishRuntimeOnBind
open fun finishRuntimeOnBind(intent: <Error class: unknown class>): <Error class: unknown class>?
finishRuntimeOnRebind
open fun finishRuntimeOnRebind(intent: <Error class: unknown class>)
finishRuntimeOnUnbind
open fun finishRuntimeOnUnbind(intent: <Error class: unknown class>): Boolean?
getCurrentRoom
fun getCurrentRoom(): MRUKRoom?
getDependencies
open fun getDependencies(): List<KClass<out SpatialFeature>>
Returns a list of dependencies required by this feature.
lateSystemsToRegister
open fun lateSystemsToRegister(): List<SystemBase>
Registers systems that should be executed during the late stages of the application lifecycle.
loadLibrary
open fun loadLibrary(libName: String)
Loads a native library into the application.
loadSceneFromDevice
fun loadSceneFromDevice(requestSceneCaptureIfNoDataFound: Boolean = true, removeMissingRooms: Boolean = true): CompletableFuture<MRUKLoadDeviceResult>
Load the scene from the device.
loadSceneFromJsonString
fun loadSceneFromJsonString(jsonString: String, removeMissingRooms: Boolean = true)
Load the scene from a JSON string.
onCreate
open override fun onCreate(savedInstanceState: <Error class: unknown class>?)
Called when the application is created.
onDestroy
open override fun onDestroy()
Called when the application is destroyed.
onPauseActivity
open fun onPauseActivity()
Called when the activity is paused.
onResume
open fun onResume()
Called when the application is resumed.
onSceneReady
open fun onSceneReady()
Called when the scene is ready.
onStart
open fun onStart()
Called when the application is started.
onStartCommand
open fun onStartCommand(intent: <Error class: unknown class>, flags: Int, startId: Int): Int?
onStopActivity
open fun onStopActivity()
Called when the activity is stopped.
onVRPause
open fun onVRPause()
Called when the VR mode is paused.
onVRReady
open fun onVRReady()
Called when the VR mode is ready.
preRuntimeOnCreate
open fun preRuntimeOnCreate(savedInstanceState: <Error class: unknown class>?)
Called before the application’s onCreate() method is called.
raycastRoom
fun raycastRoom(roomUuid: UUID, origin: Vector3, direction: Vector3, maxDistance: Float = Float.POSITIVE_INFINITY, surfaceType: SurfaceType = SurfaceType.ALL): MRUKHit?
raycastRoomAll
fun raycastRoomAll(roomUuid: UUID, origin: Vector3, direction: Vector3, maxDistance: Float = Float.POSITIVE_INFINITY, surfaceType: SurfaceType = SurfaceType.ALL): Array<MRUKHit>
registerRequiredOpenXRExtensions
open fun registerRequiredOpenXRExtensions(): List<String>
removeSceneEventListener
fun removeSceneEventListener(listener: MRUKSceneEventListener)
requestSceneCapture
fun requestSceneCapture(): CompletableFuture<Unit>
Brings up the system dialog that prompts the user to setup a space. This can be called automatically by loadSceneFromDevice() in case no room data is setup.
systemsToRegister
open override fun systemsToRegister(): List<SystemBase>
Registers systems that should be executed
Did you find this page helpful?
Thumbs up icon
Thumbs down icon