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

org.lwjgl.openxr.HTCFacialTracking 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_facial_tracking extension.
 * 
 * 

This extension allows an application to track and integrate users' eye and lip movements, empowering developers to read intention and model facial expressions.

*/ public class HTCFacialTracking { /** The extension specification version. */ public static final int XR_HTC_facial_tracking_SPEC_VERSION = 3; /** The extension name. */ public static final String XR_HTC_FACIAL_TRACKING_EXTENSION_NAME = "XR_HTC_facial_tracking"; /** Extends {@code XrObjectType}. */ public static final int XR_OBJECT_TYPE_FACIAL_TRACKER_HTC = 1000104000; /** * Extends {@code XrStructureType}. * *
Enum values:
* *
    *
  • {@link #XR_TYPE_SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC TYPE_SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC}
  • *
  • {@link #XR_TYPE_FACIAL_TRACKER_CREATE_INFO_HTC TYPE_FACIAL_TRACKER_CREATE_INFO_HTC}
  • *
  • {@link #XR_TYPE_FACIAL_EXPRESSIONS_HTC TYPE_FACIAL_EXPRESSIONS_HTC}
  • *
*/ public static final int XR_TYPE_SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC = 1000104000, XR_TYPE_FACIAL_TRACKER_CREATE_INFO_HTC = 1000104001, XR_TYPE_FACIAL_EXPRESSIONS_HTC = 1000104002; /** * Extends {@code XrLipExpressionHTC}. * *
Enum values:
* *
    *
  • {@link #XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC}
  • *
*/ public static final int XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC = 12, XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC = 13, XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC = 14, XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC = 15; /** * XrEyeExpressionHTC - The blend shapes of eye expression * *
Enum values:
* *
    *
  • {@link #XR_EYE_EXPRESSION_LEFT_BLINK_HTC EYE_EXPRESSION_LEFT_BLINK_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_LEFT_WIDE_HTC EYE_EXPRESSION_LEFT_WIDE_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_RIGHT_BLINK_HTC EYE_EXPRESSION_RIGHT_BLINK_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_RIGHT_WIDE_HTC EYE_EXPRESSION_RIGHT_WIDE_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_LEFT_SQUEEZE_HTC EYE_EXPRESSION_LEFT_SQUEEZE_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_RIGHT_SQUEEZE_HTC EYE_EXPRESSION_RIGHT_SQUEEZE_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_LEFT_DOWN_HTC EYE_EXPRESSION_LEFT_DOWN_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_RIGHT_DOWN_HTC EYE_EXPRESSION_RIGHT_DOWN_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_LEFT_OUT_HTC EYE_EXPRESSION_LEFT_OUT_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_RIGHT_IN_HTC EYE_EXPRESSION_RIGHT_IN_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_LEFT_IN_HTC EYE_EXPRESSION_LEFT_IN_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_RIGHT_OUT_HTC EYE_EXPRESSION_RIGHT_OUT_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_LEFT_UP_HTC EYE_EXPRESSION_LEFT_UP_HTC}
  • *
  • {@link #XR_EYE_EXPRESSION_RIGHT_UP_HTC EYE_EXPRESSION_RIGHT_UP_HTC}
  • *
*/ public static final int XR_EYE_EXPRESSION_LEFT_BLINK_HTC = 0, XR_EYE_EXPRESSION_LEFT_WIDE_HTC = 1, XR_EYE_EXPRESSION_RIGHT_BLINK_HTC = 2, XR_EYE_EXPRESSION_RIGHT_WIDE_HTC = 3, XR_EYE_EXPRESSION_LEFT_SQUEEZE_HTC = 4, XR_EYE_EXPRESSION_RIGHT_SQUEEZE_HTC = 5, XR_EYE_EXPRESSION_LEFT_DOWN_HTC = 6, XR_EYE_EXPRESSION_RIGHT_DOWN_HTC = 7, XR_EYE_EXPRESSION_LEFT_OUT_HTC = 8, XR_EYE_EXPRESSION_RIGHT_IN_HTC = 9, XR_EYE_EXPRESSION_LEFT_IN_HTC = 10, XR_EYE_EXPRESSION_RIGHT_OUT_HTC = 11, XR_EYE_EXPRESSION_LEFT_UP_HTC = 12, XR_EYE_EXPRESSION_RIGHT_UP_HTC = 13; /** * XrLipExpressionHTC - The blend shapes of lip expression * *
Enum values:
* *
    *
  • {@link #XR_LIP_EXPRESSION_JAW_RIGHT_HTC LIP_EXPRESSION_JAW_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_JAW_LEFT_HTC LIP_EXPRESSION_JAW_LEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_JAW_FORWARD_HTC LIP_EXPRESSION_JAW_FORWARD_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_JAW_OPEN_HTC LIP_EXPRESSION_JAW_OPEN_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_APE_SHAPE_HTC LIP_EXPRESSION_MOUTH_APE_SHAPE_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_UPPER_RIGHT_HTC LIP_EXPRESSION_MOUTH_UPPER_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_UPPER_LEFT_HTC LIP_EXPRESSION_MOUTH_UPPER_LEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_LOWER_RIGHT_HTC LIP_EXPRESSION_MOUTH_LOWER_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_LOWER_LEFT_HTC LIP_EXPRESSION_MOUTH_LOWER_LEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_POUT_HTC LIP_EXPRESSION_MOUTH_POUT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_CHEEK_SUCK_HTC LIP_EXPRESSION_CHEEK_SUCK_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_UPPER_UPRIGHT_HTC LIP_EXPRESSION_MOUTH_UPPER_UPRIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_UPPER_UPLEFT_HTC LIP_EXPRESSION_MOUTH_UPPER_UPLEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNRIGHT_HTC LIP_EXPRESSION_MOUTH_LOWER_DOWNRIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNLEFT_HTC LIP_EXPRESSION_MOUTH_LOWER_DOWNLEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_UPPER_INSIDE_HTC LIP_EXPRESSION_MOUTH_UPPER_INSIDE_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_LOWER_INSIDE_HTC LIP_EXPRESSION_MOUTH_LOWER_INSIDE_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_MOUTH_LOWER_OVERLAY_HTC LIP_EXPRESSION_MOUTH_LOWER_OVERLAY_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_LONGSTEP1_HTC LIP_EXPRESSION_TONGUE_LONGSTEP1_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_LEFT_HTC LIP_EXPRESSION_TONGUE_LEFT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_RIGHT_HTC LIP_EXPRESSION_TONGUE_RIGHT_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_UP_HTC LIP_EXPRESSION_TONGUE_UP_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_DOWN_HTC LIP_EXPRESSION_TONGUE_DOWN_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_ROLL_HTC LIP_EXPRESSION_TONGUE_ROLL_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_LONGSTEP2_HTC LIP_EXPRESSION_TONGUE_LONGSTEP2_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_UPRIGHT_MORPH_HTC LIP_EXPRESSION_TONGUE_UPRIGHT_MORPH_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_UPLEFT_MORPH_HTC LIP_EXPRESSION_TONGUE_UPLEFT_MORPH_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_DOWNRIGHT_MORPH_HTC LIP_EXPRESSION_TONGUE_DOWNRIGHT_MORPH_HTC}
  • *
  • {@link #XR_LIP_EXPRESSION_TONGUE_DOWNLEFT_MORPH_HTC LIP_EXPRESSION_TONGUE_DOWNLEFT_MORPH_HTC}
  • *
*/ public static final int XR_LIP_EXPRESSION_JAW_RIGHT_HTC = 0, XR_LIP_EXPRESSION_JAW_LEFT_HTC = 1, XR_LIP_EXPRESSION_JAW_FORWARD_HTC = 2, XR_LIP_EXPRESSION_JAW_OPEN_HTC = 3, XR_LIP_EXPRESSION_MOUTH_APE_SHAPE_HTC = 4, XR_LIP_EXPRESSION_MOUTH_UPPER_RIGHT_HTC = 5, XR_LIP_EXPRESSION_MOUTH_UPPER_LEFT_HTC = 6, XR_LIP_EXPRESSION_MOUTH_LOWER_RIGHT_HTC = 7, XR_LIP_EXPRESSION_MOUTH_LOWER_LEFT_HTC = 8, XR_LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC = 9, XR_LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC = 10, XR_LIP_EXPRESSION_MOUTH_POUT_HTC = 11, XR_LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC = 12, XR_LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC = 13, XR_LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC = 14, XR_LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC = 15, XR_LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC = 16, XR_LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC = 17, XR_LIP_EXPRESSION_CHEEK_SUCK_HTC = 18, XR_LIP_EXPRESSION_MOUTH_UPPER_UPRIGHT_HTC = 19, XR_LIP_EXPRESSION_MOUTH_UPPER_UPLEFT_HTC = 20, XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNRIGHT_HTC = 21, XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNLEFT_HTC = 22, XR_LIP_EXPRESSION_MOUTH_UPPER_INSIDE_HTC = 23, XR_LIP_EXPRESSION_MOUTH_LOWER_INSIDE_HTC = 24, XR_LIP_EXPRESSION_MOUTH_LOWER_OVERLAY_HTC = 25, XR_LIP_EXPRESSION_TONGUE_LONGSTEP1_HTC = 26, XR_LIP_EXPRESSION_TONGUE_LEFT_HTC = 27, XR_LIP_EXPRESSION_TONGUE_RIGHT_HTC = 28, XR_LIP_EXPRESSION_TONGUE_UP_HTC = 29, XR_LIP_EXPRESSION_TONGUE_DOWN_HTC = 30, XR_LIP_EXPRESSION_TONGUE_ROLL_HTC = 31, XR_LIP_EXPRESSION_TONGUE_LONGSTEP2_HTC = 32, XR_LIP_EXPRESSION_TONGUE_UPRIGHT_MORPH_HTC = 33, XR_LIP_EXPRESSION_TONGUE_UPLEFT_MORPH_HTC = 34, XR_LIP_EXPRESSION_TONGUE_DOWNRIGHT_MORPH_HTC = 35, XR_LIP_EXPRESSION_TONGUE_DOWNLEFT_MORPH_HTC = 36; /** * XrFacialTrackingTypeHTC - Describes the type of facial tracking. * *
Enumerant Descriptions
* *
    *
  • {@link #XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC} — Specifies this handle will observe eye expressions, with values indexed by {@code XrEyeExpressionHTC} whose count is {@link #XR_FACIAL_EXPRESSION_EYE_COUNT_HTC FACIAL_EXPRESSION_EYE_COUNT_HTC}.
  • *
  • {@link #XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC} — Specifies this handle will observe lip expressions, with values indexed by {@code XrLipExpressionHTC} whose count is {@link #XR_FACIAL_EXPRESSION_LIP_COUNT_HTC FACIAL_EXPRESSION_LIP_COUNT_HTC}.
  • *
* *
See Also
* *

{@link XrFacialTrackerCreateInfoHTC}

*/ public static final int XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC = 1, XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC = 2; /** API Constants */ public static final int XR_FACIAL_EXPRESSION_EYE_COUNT_HTC = 0xE, XR_FACIAL_EXPRESSION_LIP_COUNT_HTC = 0x25; protected HTCFacialTracking() { throw new UnsupportedOperationException(); } // --- [ xrCreateFacialTrackerHTC ] --- /** Unsafe version of: {@link #xrCreateFacialTrackerHTC CreateFacialTrackerHTC} */ public static int nxrCreateFacialTrackerHTC(XrSession session, long createInfo, long facialTracker) { long __functionAddress = session.getCapabilities().xrCreateFacialTrackerHTC; if (CHECKS) { check(__functionAddress); } return callPPPI(session.address(), createInfo, facialTracker, __functionAddress); } /** * Create an facial tracker handle. * *
C Specification
* *

The {@link #xrCreateFacialTrackerHTC CreateFacialTrackerHTC} function is defined as

* *

     * XrResult xrCreateFacialTrackerHTC(
     *     XrSession                                   session,
     *     const XrFacialTrackerCreateInfoHTC*         createInfo,
     *     XrFacialTrackerHTC*                         facialTracker);
* *
Description
* *

An application can create an {@code XrFacialTrackerHTC} handle using {@link #xrCreateFacialTrackerHTC CreateFacialTrackerHTC}.

* *

If the system does not support eye tracking or lip tracking, runtime must return {@link XR10#XR_ERROR_FEATURE_UNSUPPORTED ERROR_FEATURE_UNSUPPORTED} from {@link #xrCreateFacialTrackerHTC CreateFacialTrackerHTC} according to the corresponding case. In this case, the runtime must return {@link XR10#XR_FALSE FALSE} for {@link XrSystemFacialTrackingPropertiesHTC}{@code ::supportEyeFacialTracking} or {@link XrSystemFacialTrackingPropertiesHTC}{@code ::supportLipFacialTracking} when the function {@link XR10#xrGetSystemProperties GetSystemProperties} is called, so that the application may avoid creating a facial tracker.

* *
Valid Usage (Implicit)
* *
    *
  • The {@link HTCFacialTracking XR_HTC_facial_tracking} extension must be enabled prior to calling {@link #xrCreateFacialTrackerHTC CreateFacialTrackerHTC}
  • *
  • {@code session} must be a valid {@code XrSession} handle
  • *
  • {@code createInfo} must be a pointer to a valid {@link XrFacialTrackerCreateInfoHTC} structure
  • *
  • {@code facialTracker} must be a pointer to an {@code XrFacialTrackerHTC} 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 XrFacialTrackerCreateInfoHTC}, {@link #xrDestroyFacialTrackerHTC DestroyFacialTrackerHTC}

* * @param session an {@code XrSession} in which the facial expression will be active. * @param createInfo the {@link XrFacialTrackerCreateInfoHTC} used to specify the facial tracking type. * @param facialTracker the returned {@code XrFacialTrackerHTC} handle. */ @NativeType("XrResult") public static int xrCreateFacialTrackerHTC(XrSession session, @NativeType("XrFacialTrackerCreateInfoHTC const *") XrFacialTrackerCreateInfoHTC createInfo, @NativeType("XrFacialTrackerHTC *") PointerBuffer facialTracker) { if (CHECKS) { check(facialTracker, 1); } return nxrCreateFacialTrackerHTC(session, createInfo.address(), memAddress(facialTracker)); } // --- [ xrDestroyFacialTrackerHTC ] --- /** * Destroy a facial tracker handle. * *
C Specification
* *

The {@link #xrDestroyFacialTrackerHTC DestroyFacialTrackerHTC} function is defined as:

* *

     * XrResult xrDestroyFacialTrackerHTC(
     *     XrFacialTrackerHTC                          facialTracker);
* *
Description
* *

{@link #xrDestroyFacialTrackerHTC DestroyFacialTrackerHTC} releases the {@code facialTracker} and the underlying resources when finished with facial tracking experiences.

* *
Valid Usage (Implicit)
* *
    *
  • The {@link HTCFacialTracking XR_HTC_facial_tracking} extension must be enabled prior to calling {@link #xrDestroyFacialTrackerHTC DestroyFacialTrackerHTC}
  • *
  • {@code facialTracker} must be a valid {@code XrFacialTrackerHTC} handle
  • *
* *
Thread Safety
* *
    *
  • Access to {@code facialTracker}, 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}
  • *
*
* * @param facialTracker an {@code XrFacialTrackerHTC} previously created by {@link #xrCreateFacialTrackerHTC CreateFacialTrackerHTC}. */ @NativeType("XrResult") public static int xrDestroyFacialTrackerHTC(XrFacialTrackerHTC facialTracker) { long __functionAddress = facialTracker.getCapabilities().xrDestroyFacialTrackerHTC; if (CHECKS) { check(__functionAddress); } return callPI(facialTracker.address(), __functionAddress); } // --- [ xrGetFacialExpressionsHTC ] --- /** Unsafe version of: {@link #xrGetFacialExpressionsHTC GetFacialExpressionsHTC} */ public static int nxrGetFacialExpressionsHTC(XrFacialTrackerHTC facialTracker, long facialExpressions) { long __functionAddress = facialTracker.getCapabilities().xrGetFacialExpressionsHTC; if (CHECKS) { check(__functionAddress); } return callPPI(facialTracker.address(), facialExpressions, __functionAddress); } /** * Retrieve facial expressions. * *
C Specification
* *

The {@link #xrGetFacialExpressionsHTC GetFacialExpressionsHTC} function is defined as:

* *

     * XrResult xrGetFacialExpressionsHTC(
     *     XrFacialTrackerHTC                          facialTracker,
     *     XrFacialExpressionsHTC*                     facialExpressions);
* *
Description
* *

{@link #xrGetFacialExpressionsHTC GetFacialExpressionsHTC} retrieves an array of values of blend shapes for a facial expression on a given time.

* *
Valid Usage (Implicit)
* *
    *
  • The {@link HTCFacialTracking XR_HTC_facial_tracking} extension must be enabled prior to calling {@link #xrGetFacialExpressionsHTC GetFacialExpressionsHTC}
  • *
  • {@code facialTracker} must be a valid {@code XrFacialTrackerHTC} handle
  • *
  • {@code facialExpressions} must be a pointer to an {@link XrFacialExpressionsHTC} structure
  • *
* *
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_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_TIME_INVALID ERROR_TIME_INVALID}
  • *
*
* *
See Also
* *

{@link XrFacialExpressionsHTC}

* * @param facialTracker an {@code XrFacialTrackerHTC} previously created by {@link #xrCreateFacialTrackerHTC CreateFacialTrackerHTC}. * @param facialExpressions a pointer to {@link XrFacialExpressionsHTC} receiving the returned facial expressions. */ @NativeType("XrResult") public static int xrGetFacialExpressionsHTC(XrFacialTrackerHTC facialTracker, @NativeType("XrFacialExpressionsHTC *") XrFacialExpressionsHTC facialExpressions) { return nxrGetFacialExpressionsHTC(facialTracker, facialExpressions.address()); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy