All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.openxr.HTCBodyTracking Maven / Gradle / Ivy

Go to download

A royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR)—collectively known as XR—platforms and devices.

There is a newer version: 3.3.6
Show newest version
/*
 * 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.*;

import org.lwjgl.system.*;

import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryUtil.*;

/**
 * The XR_HTC_body_tracking extension.
 * 
 * 

This extension allows an application to locate the user’s individual body joints. It enables applications to render the full body in XR experience.

*/ public class HTCBodyTracking { /** The extension specification version. */ public static final int XR_HTC_body_tracking_SPEC_VERSION = 1; /** The extension name. */ public static final String XR_HTC_BODY_TRACKING_EXTENSION_NAME = "XR_HTC_body_tracking"; /** Extends {@code XrObjectType}. */ public static final int XR_OBJECT_TYPE_BODY_TRACKER_HTC = 1000320000; /** * Extends {@code XrStructureType}. * *
Enum values:
* *
    *
  • {@link #XR_TYPE_SYSTEM_BODY_TRACKING_PROPERTIES_HTC TYPE_SYSTEM_BODY_TRACKING_PROPERTIES_HTC}
  • *
  • {@link #XR_TYPE_BODY_TRACKER_CREATE_INFO_HTC TYPE_BODY_TRACKER_CREATE_INFO_HTC}
  • *
  • {@link #XR_TYPE_BODY_JOINTS_LOCATE_INFO_HTC TYPE_BODY_JOINTS_LOCATE_INFO_HTC}
  • *
  • {@link #XR_TYPE_BODY_JOINT_LOCATIONS_HTC TYPE_BODY_JOINT_LOCATIONS_HTC}
  • *
  • {@link #XR_TYPE_BODY_SKELETON_HTC TYPE_BODY_SKELETON_HTC}
  • *
*/ public static final int XR_TYPE_SYSTEM_BODY_TRACKING_PROPERTIES_HTC = 1000320000, XR_TYPE_BODY_TRACKER_CREATE_INFO_HTC = 1000320001, XR_TYPE_BODY_JOINTS_LOCATE_INFO_HTC = 1000320002, XR_TYPE_BODY_JOINT_LOCATIONS_HTC = 1000320003, XR_TYPE_BODY_SKELETON_HTC = 1000320004; /** * XrBodyJointHTC - Indices for body joint names * *
Description
* *

It is used to index into a joint location array when the joint set in use ({@code XrBodyJointSetHTC}) is {@link #XR_BODY_JOINT_SET_FULL_HTC BODY_JOINT_SET_FULL_HTC}.

* *

This extension defines 26 joints for body tracking: 6 joints for the torso, 5 joints for each arm, 4 joints for each leg, and the other 2 joints for the head and neck. The definitions of these joints are based on human skeletal joints.

* *

As shown in the figure below, the following conventions are stated with a T-shape body pose in which the palms are facing down to the ground.

* *

The right direction (+X) is pointing from left hand to right hand in T-pose.

* *

The up direction (+Y) is pointing from foot to head in T-pose.

* *

The Z direction is perpendicular to X and Y and follows the right hand rule in T-pose.

* *
See Also
* *

{@link #XR_BODY_JOINT_COUNT_HTC BODY_JOINT_COUNT_HTC}

* *
Enum values:
* *
    *
  • {@link #XR_BODY_JOINT_PELVIS_HTC BODY_JOINT_PELVIS_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_HIP_HTC BODY_JOINT_LEFT_HIP_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_KNEE_HTC BODY_JOINT_LEFT_KNEE_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_ANKLE_HTC BODY_JOINT_LEFT_ANKLE_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_FEET_HTC BODY_JOINT_LEFT_FEET_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_HIP_HTC BODY_JOINT_RIGHT_HIP_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_KNEE_HTC BODY_JOINT_RIGHT_KNEE_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_ANKLE_HTC BODY_JOINT_RIGHT_ANKLE_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_FEET_HTC BODY_JOINT_RIGHT_FEET_HTC}
  • *
  • {@link #XR_BODY_JOINT_WAIST_HTC BODY_JOINT_WAIST_HTC}
  • *
  • {@link #XR_BODY_JOINT_SPINE_LOWER_HTC BODY_JOINT_SPINE_LOWER_HTC}
  • *
  • {@link #XR_BODY_JOINT_SPINE_MIDDLE_HTC BODY_JOINT_SPINE_MIDDLE_HTC}
  • *
  • {@link #XR_BODY_JOINT_SPINE_HIGH_HTC BODY_JOINT_SPINE_HIGH_HTC}
  • *
  • {@link #XR_BODY_JOINT_CHEST_HTC BODY_JOINT_CHEST_HTC}
  • *
  • {@link #XR_BODY_JOINT_NECK_HTC BODY_JOINT_NECK_HTC}
  • *
  • {@link #XR_BODY_JOINT_HEAD_HTC BODY_JOINT_HEAD_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_CLAVICLE_HTC BODY_JOINT_LEFT_CLAVICLE_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_SCAPULA_HTC BODY_JOINT_LEFT_SCAPULA_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_ARM_HTC BODY_JOINT_LEFT_ARM_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_ELBOW_HTC BODY_JOINT_LEFT_ELBOW_HTC}
  • *
  • {@link #XR_BODY_JOINT_LEFT_WRIST_HTC BODY_JOINT_LEFT_WRIST_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_CLAVICLE_HTC BODY_JOINT_RIGHT_CLAVICLE_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_SCAPULA_HTC BODY_JOINT_RIGHT_SCAPULA_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_ARM_HTC BODY_JOINT_RIGHT_ARM_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_ELBOW_HTC BODY_JOINT_RIGHT_ELBOW_HTC}
  • *
  • {@link #XR_BODY_JOINT_RIGHT_WRIST_HTC BODY_JOINT_RIGHT_WRIST_HTC}
  • *
*/ public static final int XR_BODY_JOINT_PELVIS_HTC = 0, XR_BODY_JOINT_LEFT_HIP_HTC = 1, XR_BODY_JOINT_LEFT_KNEE_HTC = 2, XR_BODY_JOINT_LEFT_ANKLE_HTC = 3, XR_BODY_JOINT_LEFT_FEET_HTC = 4, XR_BODY_JOINT_RIGHT_HIP_HTC = 5, XR_BODY_JOINT_RIGHT_KNEE_HTC = 6, XR_BODY_JOINT_RIGHT_ANKLE_HTC = 7, XR_BODY_JOINT_RIGHT_FEET_HTC = 8, XR_BODY_JOINT_WAIST_HTC = 9, XR_BODY_JOINT_SPINE_LOWER_HTC = 10, XR_BODY_JOINT_SPINE_MIDDLE_HTC = 11, XR_BODY_JOINT_SPINE_HIGH_HTC = 12, XR_BODY_JOINT_CHEST_HTC = 13, XR_BODY_JOINT_NECK_HTC = 14, XR_BODY_JOINT_HEAD_HTC = 15, XR_BODY_JOINT_LEFT_CLAVICLE_HTC = 16, XR_BODY_JOINT_LEFT_SCAPULA_HTC = 17, XR_BODY_JOINT_LEFT_ARM_HTC = 18, XR_BODY_JOINT_LEFT_ELBOW_HTC = 19, XR_BODY_JOINT_LEFT_WRIST_HTC = 20, XR_BODY_JOINT_RIGHT_CLAVICLE_HTC = 21, XR_BODY_JOINT_RIGHT_SCAPULA_HTC = 22, XR_BODY_JOINT_RIGHT_ARM_HTC = 23, XR_BODY_JOINT_RIGHT_ELBOW_HTC = 24, XR_BODY_JOINT_RIGHT_WRIST_HTC = 25; /** * XrBodyJointSetHTC - The set of body joints to track. * *
Enumerant Descriptions
* *
    *
  • {@link #XR_BODY_JOINT_SET_FULL_HTC BODY_JOINT_SET_FULL_HTC} indicates that the created {@code XrBodyTrackerHTC} tracks the set of body joints described by {@code XrBodyJointHTC} enum, i.e. the {@link #xrLocateBodyJointsHTC LocateBodyJointsHTC} function returns an array of joint locations with the count of {@link #XR_BODY_JOINT_COUNT_HTC BODY_JOINT_COUNT_HTC} and is indexed using {@code XrBodyJointHTC}.
  • *
* *

The {@code XrBodyJointSetHTC} enumeration describes the set of body joints to track when creating an {@code XrBodyTrackerHTC}.

* *
See Also
* *

{@link XrBodyTrackerCreateInfoHTC}

*/ public static final int XR_BODY_JOINT_SET_FULL_HTC = 0; /** * XrBodyJointConfidenceHTC - The confidence level for the returned body joint pose. * *
Enumerant Descriptions
* *
    *
  • {@link #XR_BODY_JOINT_CONFIDENCE_NONE_HTC BODY_JOINT_CONFIDENCE_NONE_HTC} — No confidence for the returned body joint pose.
  • *
  • {@link #XR_BODY_JOINT_CONFIDENCE_LOW_HTC BODY_JOINT_CONFIDENCE_LOW_HTC} — Low confience for the returned body joint pose. It indicates some of the body joints may not be tracked.
  • *
  • {@link #XR_BODY_JOINT_CONFIDENCE_HIGH_HTC BODY_JOINT_CONFIDENCE_HIGH_HTC} — High confidence for the returned body joint pose. It indicates almost all of the critical body joints are tracked.
  • *
* *

The {@code XrBodyJointConfidenceHTC} enumeration describes the confidence level for the returned body joint pose.

* *
See Also
* *

{@link XrBodyJointLocationsHTC}

*/ public static final int XR_BODY_JOINT_CONFIDENCE_NONE_HTC = 0, XR_BODY_JOINT_CONFIDENCE_LOW_HTC = 1, XR_BODY_JOINT_CONFIDENCE_HIGH_HTC = 2; /** API Constants */ public static final int XR_BODY_JOINT_COUNT_HTC = 0x1A; protected HTCBodyTracking() { throw new UnsupportedOperationException(); } // --- [ xrCreateBodyTrackerHTC ] --- /** Unsafe version of: {@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC} */ public static int nxrCreateBodyTrackerHTC(XrSession session, long createInfo, long bodyTracker) { long __functionAddress = session.getCapabilities().xrCreateBodyTrackerHTC; if (CHECKS) { check(__functionAddress); } return callPPPI(session.address(), createInfo, bodyTracker, __functionAddress); } /** * Create a body tracker handle. * *
C Specification
* *

The {@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC} function is defined as

* *

     * XrResult xrCreateBodyTrackerHTC(
     *     XrSession                                   session,
     *     const XrBodyTrackerCreateInfoHTC*           createInfo,
     *     XrBodyTrackerHTC*                           bodyTracker);
* *
Description
* *

An application can create an {@code XrBodyTrackerHTC} handle using {@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC}.

* *

If the system does not support body tracking, the runtime must return {@link XR10#XR_ERROR_FEATURE_UNSUPPORTED ERROR_FEATURE_UNSUPPORTED} from {@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC}. In this case, the runtime must return {@link XR10#XR_FALSE FALSE} for {@link XrSystemBodyTrackingPropertiesHTC}{@code ::supportsBodyTracking} in {@link XrSystemBodyTrackingPropertiesHTC} when the function {@link XR10#xrGetSystemProperties GetSystemProperties} is called, so that the application avoids creating a body tracker.

* *
Valid Usage (Implicit)
* *
    *
  • The {@link HTCBodyTracking XR_HTC_body_tracking} extension must be enabled prior to calling {@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC}
  • *
  • {@code session} must be a valid {@code XrSession} handle
  • *
  • {@code createInfo} must be a pointer to a valid {@link XrBodyTrackerCreateInfoHTC} structure
  • *
  • {@code bodyTracker} must be a pointer to an {@code XrBodyTrackerHTC} handle
  • *
* *
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_OUT_OF_MEMORY ERROR_OUT_OF_MEMORY}
  • *
  • {@link XR10#XR_ERROR_LIMIT_REACHED ERROR_LIMIT_REACHED}
  • *
  • {@link XR10#XR_ERROR_FEATURE_UNSUPPORTED ERROR_FEATURE_UNSUPPORTED}
  • *
*
* *
See Also
* *

{@link XrBodyTrackerCreateInfoHTC}, {@link #xrDestroyBodyTrackerHTC DestroyBodyTrackerHTC}

* * @param session an {@code XrSession} in which the body tracking will be active. * @param createInfo the {@link XrBodyTrackerCreateInfoHTC} is used to specify the set of body joints. * @param bodyTracker the returned {@code XrBodyTrackerHTC} handle. */ @NativeType("XrResult") public static int xrCreateBodyTrackerHTC(XrSession session, @NativeType("XrBodyTrackerCreateInfoHTC const *") XrBodyTrackerCreateInfoHTC createInfo, @NativeType("XrBodyTrackerHTC *") PointerBuffer bodyTracker) { if (CHECKS) { check(bodyTracker, 1); } return nxrCreateBodyTrackerHTC(session, createInfo.address(), memAddress(bodyTracker)); } // --- [ xrDestroyBodyTrackerHTC ] --- /** * Destroy a body tracker handle. * *
C Specification
* *

The {@link #xrDestroyBodyTrackerHTC DestroyBodyTrackerHTC} function is defined as:

* *

     * XrResult xrDestroyBodyTrackerHTC(
     *     XrBodyTrackerHTC                            bodyTracker);
* *
Description
* *

{@link #xrDestroyBodyTrackerHTC DestroyBodyTrackerHTC} releases the {@code bodyTracker} and the underlying resources when finished with body tracking experiences.

* *
Valid Usage (Implicit)
* *
    *
  • The {@link HTCBodyTracking XR_HTC_body_tracking} extension must be enabled prior to calling {@link #xrDestroyBodyTrackerHTC DestroyBodyTrackerHTC}
  • *
  • {@code bodyTracker} must be a valid {@code XrBodyTrackerHTC} handle
  • *
* *
Thread Safety
* *
    *
  • Access to {@code bodyTracker}, and any child handles, must be externally synchronized
  • *
* *
Return Codes
* *
*
On success, this command returns
*
    *
  • {@link XR10#XR_SUCCESS SUCCESS}
  • *
*
On failure, this command returns
*
    *
  • {@link XR10#XR_ERROR_FUNCTION_UNSUPPORTED ERROR_FUNCTION_UNSUPPORTED}
  • *
  • {@link XR10#XR_ERROR_HANDLE_INVALID ERROR_HANDLE_INVALID}
  • *
*
* *
See Also
* *

{@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC}

* * @param bodyTracker an {@code XrBodyTrackerHTC} previously created by {@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC}. */ @NativeType("XrResult") public static int xrDestroyBodyTrackerHTC(XrBodyTrackerHTC bodyTracker) { long __functionAddress = bodyTracker.getCapabilities().xrDestroyBodyTrackerHTC; if (CHECKS) { check(__functionAddress); } return callPI(bodyTracker.address(), __functionAddress); } // --- [ xrLocateBodyJointsHTC ] --- /** Unsafe version of: {@link #xrLocateBodyJointsHTC LocateBodyJointsHTC} */ public static int nxrLocateBodyJointsHTC(XrBodyTrackerHTC bodyTracker, long locateInfo, long locations) { long __functionAddress = bodyTracker.getCapabilities().xrLocateBodyJointsHTC; if (CHECKS) { check(__functionAddress); XrBodyJointsLocateInfoHTC.validate(locateInfo); } return callPPPI(bodyTracker.address(), locateInfo, locations, __functionAddress); } /** * Locate the individual body joints. * *
C Specification
* *

The {@link #xrLocateBodyJointsHTC LocateBodyJointsHTC} function is defined as:

* *

     * XrResult xrLocateBodyJointsHTC(
     *     XrBodyTrackerHTC                            bodyTracker,
     *     const XrBodyJointsLocateInfoHTC*            locateInfo,
     *     XrBodyJointLocationsHTC*                    locations);
* *
Description
* *

The {@link #xrLocateBodyJointsHTC LocateBodyJointsHTC} function locates an array of body joints relative to a base space at a given time.

* *

If {@link XrBodyJointLocationsHTC}{@code ::jointLocationCount} does not match the value associated with the supplied {@code XrBodyJointSetHTC} value, the runtime must return {@link XR10#XR_ERROR_VALIDATION_FAILURE ERROR_VALIDATION_FAILURE}.

* *
Valid Usage (Implicit)
* *
    *
  • The {@link HTCBodyTracking XR_HTC_body_tracking} extension must be enabled prior to calling {@link #xrLocateBodyJointsHTC LocateBodyJointsHTC}
  • *
  • {@code bodyTracker} must be a valid {@code XrBodyTrackerHTC} handle
  • *
  • {@code locateInfo} must be a pointer to a valid {@link XrBodyJointsLocateInfoHTC} structure
  • *
  • {@code locations} must be a pointer to an {@link XrBodyJointLocationsHTC} 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_TIME_INVALID ERROR_TIME_INVALID}
  • *
*
* *
See Also
* *

{@link XrBodyJointLocationsHTC}, {@link XrBodyJointsLocateInfoHTC}

* * @param bodyTracker an {@code XrBodyTrackerHTC} previously created by {@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC}. * @param locateInfo a pointer to {@link XrBodyJointsLocateInfoHTC} describing information to locate body joints. * @param locations a pointer to {@link XrBodyJointLocationsHTC} receiving the returned body joint locations. */ @NativeType("XrResult") public static int xrLocateBodyJointsHTC(XrBodyTrackerHTC bodyTracker, @NativeType("XrBodyJointsLocateInfoHTC const *") XrBodyJointsLocateInfoHTC locateInfo, @NativeType("XrBodyJointLocationsHTC *") XrBodyJointLocationsHTC locations) { return nxrLocateBodyJointsHTC(bodyTracker, locateInfo.address(), locations.address()); } // --- [ xrGetBodySkeletonHTC ] --- /** Unsafe version of: {@link #xrGetBodySkeletonHTC GetBodySkeletonHTC} */ public static int nxrGetBodySkeletonHTC(XrBodyTrackerHTC bodyTracker, XrSpace baseSpace, int skeletonGenerationId, long skeleton) { long __functionAddress = bodyTracker.getCapabilities().xrGetBodySkeletonHTC; if (CHECKS) { check(__functionAddress); } return callPPPI(bodyTracker.address(), baseSpace.address(), skeletonGenerationId, skeleton, __functionAddress); } /** * Retrieve body skeleton. * *
C Specification
* *

The {@link #xrGetBodySkeletonHTC GetBodySkeletonHTC} function is defined as:

* *

     * XrResult xrGetBodySkeletonHTC(
     *     XrBodyTrackerHTC                            bodyTracker,
     *     XrSpace                                     baseSpace,
     *     uint32_t                                    skeletonGenerationId,
     *     XrBodySkeletonHTC*                          skeleton);
* *
Description
* *

The {@link #xrGetBodySkeletonHTC GetBodySkeletonHTC} function returns the body skeleton in T-pose. This function can be used to get body skeleton and infer the skeleton scale and proportions in conjunction with {@link XrBodyJointLocationsHTC}{@code ::skeletonGenerationId}. {@link XrBodyJointLocationsHTC}{@code ::skeletonGenerationId} is generated when the tracking auto-calibrates the user skeleton scale and proportions.

* *

If the application supplies a {@code skeletonGenerationId} that does not match any value returned in {@link XrBodyJointLocationsHTC}{@code ::skeletonGenerationId} during the current session, the runtime must return {@link XR10#XR_ERROR_VALIDATION_FAILURE ERROR_VALIDATION_FAILURE}.

* *
Valid Usage (Implicit)
* *
    *
  • The {@link HTCBodyTracking XR_HTC_body_tracking} extension must be enabled prior to calling {@link #xrGetBodySkeletonHTC GetBodySkeletonHTC}
  • *
  • {@code bodyTracker} must be a valid {@code XrBodyTrackerHTC} handle
  • *
  • {@code baseSpace} must be a valid {@code XrSpace} handle
  • *
  • {@code skeleton} must be a pointer to an {@link XrBodySkeletonHTC} structure
  • *
  • Both of {@code baseSpace} and {@code bodyTracker} must have been created, allocated, or retrieved from the same {@code XrSession}
  • *
* *
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}
  • *
*
* *
See Also
* *

{@link XrBodySkeletonHTC}

* * @param bodyTracker an {@code XrBodyTrackerHTC} previously created by {@link #xrCreateBodyTrackerHTC CreateBodyTrackerHTC}. * @param baseSpace an {@code XrSpace} within which the returned body skeleton in T-pose will be represented. * @param skeletonGenerationId the skeleton id of the skeleton. * @param skeleton a pointer to {@link XrBodySkeletonHTC} receiving the returned body skeleton. */ @NativeType("XrResult") public static int xrGetBodySkeletonHTC(XrBodyTrackerHTC bodyTracker, XrSpace baseSpace, @NativeType("uint32_t") int skeletonGenerationId, @NativeType("XrBodySkeletonHTC *") XrBodySkeletonHTC skeleton) { return nxrGetBodySkeletonHTC(bodyTracker, baseSpace, skeletonGenerationId, skeleton.address()); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy