
org.lwjgl.openxr.XR11 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.*;
import static org.lwjgl.openxr.XR10.*;
/**
* The core OpenXR 1.1 functionality.
*
* OpenXR version 1.1 promoted a number of key extensions into the core API:
*
*
* - {@link KHRLocateSpaces KHR_locate_spaces}
* - {@link KHRMaintenance1 KHR_maintenance1}
* - {@link EXTHPMixedRealityController EXT_hp_mixed_reality_controller}
* - {@link EXTLocalFloor EXT_local_floor}
* - {@link EXTPalmPose EXT_palm_pose}
* - {@link EXTSamsungOdysseyController EXT_samsung_odyssey_controller}
* - {@link EXTUUIUD EXT_uuid}
* - {@link BDControllerInteraction BD_controller_interaction}
* - {@link HTCViveCosmosControllerInteraction HTC_vive_cosmos_controller_interaction}
* - {@link HTCViveFocus3ControllerInteraction HTC_vive_focus3_controller_interaction}
* - {@link MLMl2ControllerInteraction ML_ml2_controller_interaction}
* - {@link VARJOQuadViews VARJO_quad_views}
*
*/
public class XR11 {
/**
* Extends {@code XrResult}.
*
* Enum values:
*
*
* - {@link #XR_ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED}
* - {@link #XR_ERROR_PERMISSION_INSUFFICIENT ERROR_PERMISSION_INSUFFICIENT}
*
*/
public static final int
XR_ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED = -1000710001,
XR_ERROR_PERMISSION_INSUFFICIENT = -1000710000;
/**
* Extends {@code XrStructureType}.
*
* Enum values:
*
*
* - {@link #XR_TYPE_SPACES_LOCATE_INFO TYPE_SPACES_LOCATE_INFO}
* - {@link #XR_TYPE_SPACE_LOCATIONS TYPE_SPACE_LOCATIONS}
* - {@link #XR_TYPE_SPACE_VELOCITIES TYPE_SPACE_VELOCITIES}
*
*/
public static final int
XR_TYPE_SPACES_LOCATE_INFO = 1000471000,
XR_TYPE_SPACE_LOCATIONS = 1000471001,
XR_TYPE_SPACE_VELOCITIES = 1000471002;
/** Extends {@code XrReferenceSpaceType}. */
public static final int XR_REFERENCE_SPACE_TYPE_LOCAL_FLOOR = 1000426000;
/** Extends {@code XrViewConfigurationType}. */
public static final int XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO_WITH_FOVEATED_INSET = 1000037000;
/**
* The version of the OpenXR 1.1 API.
*
* The "major" and "minor" components are always 1.1, while the "patch" component matches {@link XR10#XR_CURRENT_API_VERSION CURRENT_API_VERSION}.
*/
public static final long XR_API_VERSION_1_1 = XR_MAKE_VERSION(1, 1, XR_VERSION_PATCH(XR_CURRENT_API_VERSION));
protected XR11() {
throw new UnsupportedOperationException();
}
// --- [ xrLocateSpaces ] ---
/** Unsafe version of: {@link #xrLocateSpaces LocateSpaces} */
public static int nxrLocateSpaces(XrSession session, long locateInfo, long spaceLocations) {
long __functionAddress = session.getCapabilities().xrLocateSpaces;
if (CHECKS) {
check(__functionAddress);
XrSpacesLocateInfo.validate(locateInfo);
}
return callPPPI(session.address(), locateInfo, spaceLocations, __functionAddress);
}
/**
* Locate an array of spaces.
*
* C Specification
*
* Applications can use {@link #xrLocateSpaces LocateSpaces} function to locate an array of spaces.
*
* The {@link #xrLocateSpaces LocateSpaces} function is defined as:
*
*
* XrResult xrLocateSpaces(
* XrSession session,
* const XrSpacesLocateInfo* locateInfo,
* XrSpaceLocations* spaceLocations);
*
* Description
*
* {@link #xrLocateSpaces LocateSpaces} provides the physical location of one or more spaces in a base space at a specified time, if currently known by the runtime.
*
* The {@link XrSpacesLocateInfo}{@code ::time}, the {@link XrSpacesLocateInfo}{@code ::baseSpace}, and each space in {@link XrSpacesLocateInfo}{@code ::spaces}, in the {@code locateInfo} parameter, all follow the same specifics as the corresponding inputs to the {@link XR10#xrLocateSpace LocateSpace} function.
*
* Valid Usage (Implicit)
*
*
* - {@code session} must be a valid {@code XrSession} handle
* - {@code locateInfo} must be a pointer to a valid {@link XrSpacesLocateInfo} structure
* - {@code spaceLocations} must be a pointer to an {@link XrSpaceLocations} structure
*
*
* 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 XR10#XR_ERROR_TIME_INVALID ERROR_TIME_INVALID}
*
*
*
* See Also
*
* {@link XrSpaceLocations}, {@link XrSpacesLocateInfo}
*
* @param session an {@code XrSession} handle previously created with {@link XR10#xrCreateSession CreateSession}.
* @param locateInfo a pointer to an {@link XrSpacesLocateInfo} that provides the input information to locate spaces.
* @param spaceLocations a pointer to an {@link XrSpaceLocations} for the runtime to return the locations of the specified spaces in the base space.
*/
@NativeType("XrResult")
public static int xrLocateSpaces(XrSession session, @NativeType("XrSpacesLocateInfo const *") XrSpacesLocateInfo locateInfo, @NativeType("XrSpaceLocations *") XrSpaceLocations spaceLocations) {
return nxrLocateSpaces(session, locateInfo.address(), spaceLocations.address());
}
}