
org.lwjgl.openxr.FBSpatialEntityContainer Maven / Gradle / Ivy
Show all versions of lwjgl-openxr Show documentation
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.openxr;
import org.lwjgl.system.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
/**
* The XR_FB_spatial_entity_container extension.
*
* This extension expands on the concept of spatial entities to include a way for one spatial entity to contain multiple child spatial entities, forming a hierarchy.
*
* In order to enable the functionality of this extension, you must pass the name of the extension into {@link XR10#xrCreateInstance CreateInstance} via the {@link XrInstanceCreateInfo}{@code ::enabledExtensionNames} parameter as indicated in the extension section.
*/
public class FBSpatialEntityContainer {
/** The extension specification version. */
public static final int XR_FB_spatial_entity_container_SPEC_VERSION = 2;
/** The extension name. */
public static final String XR_FB_SPATIAL_ENTITY_CONTAINER_EXTENSION_NAME = "XR_FB_spatial_entity_container";
/** Extends {@code XrStructureType}. */
public static final int XR_TYPE_SPACE_CONTAINER_FB = 1000199000;
protected FBSpatialEntityContainer() {
throw new UnsupportedOperationException();
}
// --- [ xrGetSpaceContainerFB ] ---
/** Unsafe version of: {@link #xrGetSpaceContainerFB GetSpaceContainerFB} */
public static int nxrGetSpaceContainerFB(XrSession session, XrSpace space, long spaceContainerOutput) {
long __functionAddress = session.getCapabilities().xrGetSpaceContainerFB;
if (CHECKS) {
check(__functionAddress);
}
return callPPPI(session.address(), space.address(), spaceContainerOutput, __functionAddress);
}
/**
* Gets a XrSpaceContainerFB which lists contained spaces.
*
* C Specification
*
* The {@link #xrGetSpaceContainerFB GetSpaceContainerFB} function is defined as:
*
*
* XrResult xrGetSpaceContainerFB(
* XrSession session,
* XrSpace space,
* XrSpaceContainerFB* spaceContainerOutput);
*
* Description
*
* The {@link #xrGetSpaceContainerFB GetSpaceContainerFB} function is used by an application to perform the two calls required to obtain information about which spatial entities are contained by a specified spatial entity.
*
* The {@link FBSpatialEntity#XR_SPACE_COMPONENT_TYPE_SPACE_CONTAINER_FB SPACE_COMPONENT_TYPE_SPACE_CONTAINER_FB} component type must be enabled, otherwise this function will return {@link FBSpatialEntity#XR_ERROR_SPACE_COMPONENT_NOT_ENABLED_FB ERROR_SPACE_COMPONENT_NOT_ENABLED_FB}.
*
* Valid Usage (Implicit)
*
*
* - The {@link FBSpatialEntityContainer XR_FB_spatial_entity_container} extension must be enabled prior to calling {@link #xrGetSpaceContainerFB GetSpaceContainerFB}
* - {@code session} must be a valid {@code XrSession} handle
* - {@code space} must be a valid {@code XrSpace} handle
* - {@code spaceContainerOutput} must be a pointer to an {@link XrSpaceContainerFB} structure
* - {@code space} must have been created, allocated, or retrieved from {@code session}
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link XR10#XR_SUCCESS SUCCESS}
* - {@link XR10#XR_SESSION_LOSS_PENDING SESSION_LOSS_PENDING}
*
* - On failure, this command returns
*
* - {@link XR10#XR_ERROR_FUNCTION_UNSUPPORTED ERROR_FUNCTION_UNSUPPORTED}
* - {@link XR10#XR_ERROR_VALIDATION_FAILURE ERROR_VALIDATION_FAILURE}
* - {@link XR10#XR_ERROR_RUNTIME_FAILURE ERROR_RUNTIME_FAILURE}
* - {@link XR10#XR_ERROR_HANDLE_INVALID ERROR_HANDLE_INVALID}
* - {@link XR10#XR_ERROR_INSTANCE_LOST ERROR_INSTANCE_LOST}
* - {@link XR10#XR_ERROR_SESSION_LOST ERROR_SESSION_LOST}
* - {@link XR10#XR_ERROR_SIZE_INSUFFICIENT ERROR_SIZE_INSUFFICIENT}
* - {@link FBSpatialEntity#XR_ERROR_SPACE_COMPONENT_NOT_ENABLED_FB ERROR_SPACE_COMPONENT_NOT_ENABLED_FB}
* - {@link XR10#XR_ERROR_FEATURE_UNSUPPORTED ERROR_FEATURE_UNSUPPORTED}
*
*
*
* See Also
*
* {@link XrSpaceContainerFB}
*
* @param session a handle to an {@code XrSession}.
* @param space a handle to an {@code XrSpace}.
* @param spaceContainerOutput the output parameter that points to an {@link XrSpaceContainerFB} containing information about which spaces are contained by {@code space}.
*/
@NativeType("XrResult")
public static int xrGetSpaceContainerFB(XrSession session, XrSpace space, @NativeType("XrSpaceContainerFB *") XrSpaceContainerFB spaceContainerOutput) {
return nxrGetSpaceContainerFB(session, space, spaceContainerOutput.address());
}
}