Class XrFacialExpressionsHTC
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
XrFacialExpressionsHTC structure returns data of a lip facial expression or an eye facial expression.
An application must preallocate the output expressionWeightings array that can contain at least expressionCount of float. expressionCount must be at least FACIAL_EXPRESSION_LIP_COUNT_HTC for FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC, and at least FACIAL_EXPRESSION_EYE_COUNT_HTC for FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC.
The application must set expressionCount as described by the XrFacialTrackingTypeHTC when creating the XrFacialTrackerHTC otherwise the runtime must return ERROR_VALIDATION_FAILURE.
The runtime must update the expressionWeightings array ordered so that the application can index elements using the corresponding facial tracker enum (e.g. XrEyeExpressionHTC or XrLipExpressionHTC) as described by XrFacialTrackingTypeHTC when creating the XrFacialTrackerHTC. For example, when the XrFacialTrackerHTC is created with XrFacialTrackerHTC::facialTrackingType set to FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC, the application must set the expressionCount to FACIAL_EXPRESSION_EYE_COUNT_HTC, and the runtime must fill the expressionWeightings array ordered with eye expression data so that it can be indexed by the XrEyeExpressionHTC enum.
If the returned isActive is true, the runtime must fill the expressionWeightings array ordered.
If the returned isActive is false, it indicates the facial tracker did not detect the corresponding facial input or the application lost input focus.
If the input expressionCount is not sufficient to contain all output indices, the runtime must return ERROR_SIZE_INSUFFICIENT on calls to GetFacialExpressionsHTC and not change the content in expressionWeightings.
Valid Usage (Implicit)
- The
XR_HTC_facial_trackingextension must be enabled prior to usingXrFacialExpressionsHTC typemust beTYPE_FACIAL_EXPRESSIONS_HTCnextmust beNULLor a valid pointer to the next structure in a structure chainexpressionWeightingsmust be a pointer to afloatvalue
See Also
Layout
struct XrFacialExpressionsHTC {
XrStructureType type();
void const * next();
XrBool32 isActive();
XrTime sampleTime();
uint32_t expressionCount();
float * expressionWeightings(int);
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrFacialExpressionsHTC(ByteBuffer container) Creates aXrFacialExpressionsHTCinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic XrFacialExpressionsHTCcalloc()Returns a newXrFacialExpressionsHTCinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrFacialExpressionsHTC.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrFacialExpressionsHTC.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrFacialExpressionsHTCcalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrFacialExpressionsHTCinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrFacialExpressionsHTCcreate()Returns a newXrFacialExpressionsHTCinstance allocated withBufferUtils.create(int capacity) Returns a newXrFacialExpressionsHTC.Bufferinstance allocated withBufferUtils.static XrFacialExpressionsHTCcreate(long address) Returns a newXrFacialExpressionsHTCinstance for the specified memory address.create(long address, int capacity) Create aXrFacialExpressionsHTC.Bufferinstance at the specified memory.static @Nullable XrFacialExpressionsHTCcreateSafe(long address) static @Nullable XrFacialExpressionsHTC.BuffercreateSafe(long address, int capacity) intauint32_tdescribing the count of elements inexpressionWeightingsarray.expressionCount(int value) Sets the specified value to theexpressionCount()field.expressionWeightings(int capacity) expressionWeightings(FloatBuffer value) Sets the address of the specifiedFloatBufferto theexpressionWeightings(int)field.booleanisActive()anXrBool32indicating if the facial tracker is active.isActive(boolean value) Sets the specified value to theisActive()field.static XrFacialExpressionsHTCmalloc()Returns a newXrFacialExpressionsHTCinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrFacialExpressionsHTC.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrFacialExpressionsHTC.Bufferinstance allocated on the specifiedMemoryStack.static XrFacialExpressionsHTCmalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrFacialExpressionsHTCinstance allocated on the specifiedMemoryStack.static intnexpressionCount(long struct) Unsafe version ofexpressionCount().static voidnexpressionCount(long struct, int value) Unsafe version ofexpressionCount.static FloatBuffernexpressionWeightings(long struct, int capacity) Unsafe version ofexpressionWeightings.static voidnexpressionWeightings(long struct, FloatBuffer value) Unsafe version ofexpressionWeightings.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static intnisActive(long struct) Unsafe version ofisActive().static voidnisActive(long struct, int value) Unsafe version ofisActive.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static longnsampleTime(long struct) Unsafe version ofsampleTime().static voidnsampleTime(long struct, long value) Unsafe version ofsampleTime.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.longwhen in time the expression is expressed.sampleTime(long value) Sets the specified value to thesampleTime()field.set(int type, long next, boolean isActive, long sampleTime, int expressionCount, FloatBuffer expressionWeightings) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_FACIAL_EXPRESSIONS_HTCvalue to thetype()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
TYPE
public static final int TYPEThe struct member offsets. -
NEXT
public static final int NEXTThe struct member offsets. -
ISACTIVE
public static final int ISACTIVEThe struct member offsets. -
SAMPLETIME
public static final int SAMPLETIMEThe struct member offsets. -
EXPRESSIONCOUNT
public static final int EXPRESSIONCOUNTThe struct member offsets. -
EXPRESSIONWEIGHTINGS
public static final int EXPRESSIONWEIGHTINGSThe struct member offsets.
-
-
Constructor Details
-
XrFacialExpressionsHTC
Creates aXrFacialExpressionsHTCinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<XrFacialExpressionsHTC>
-
type
public int type()theXrStructureTypeof this structure. -
next
public long next()NULLor a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension. -
isActive
public boolean isActive()anXrBool32indicating if the facial tracker is active. -
sampleTime
public long sampleTime()when in time the expression is expressed. -
expressionCount
public int expressionCount()auint32_tdescribing the count of elements inexpressionWeightingsarray. -
expressionWeightings
- Parameters:
capacity- the number of elements in the returned buffer- Returns:
- a
floatarray filled in by the runtime, specifying the weightings for each blend shape.
-
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_FACIAL_EXPRESSIONS_HTCvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
isActive
Sets the specified value to theisActive()field. -
sampleTime
Sets the specified value to thesampleTime()field. -
expressionCount
Sets the specified value to theexpressionCount()field. -
expressionWeightings
Sets the address of the specifiedFloatBufferto theexpressionWeightings(int)field. -
set
public XrFacialExpressionsHTC set(int type, long next, boolean isActive, long sampleTime, int expressionCount, FloatBuffer expressionWeightings) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newXrFacialExpressionsHTCinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrFacialExpressionsHTCinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrFacialExpressionsHTCinstance allocated withBufferUtils. -
create
Returns a newXrFacialExpressionsHTCinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrFacialExpressionsHTC.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrFacialExpressionsHTC.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrFacialExpressionsHTC.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrFacialExpressionsHTC.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newXrFacialExpressionsHTCinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrFacialExpressionsHTCinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrFacialExpressionsHTC.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrFacialExpressionsHTC.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrFacialExpressionsHTC.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrFacialExpressionsHTC.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ntype
public static int ntype(long struct) Unsafe version oftype(). -
nnext
public static long nnext(long struct) Unsafe version ofnext(). -
nisActive
public static int nisActive(long struct) Unsafe version ofisActive(). -
nsampleTime
public static long nsampleTime(long struct) Unsafe version ofsampleTime(). -
nexpressionCount
public static int nexpressionCount(long struct) Unsafe version ofexpressionCount(). -
nexpressionWeightings
Unsafe version ofexpressionWeightings. -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nisActive
public static void nisActive(long struct, int value) Unsafe version ofisActive. -
nsampleTime
public static void nsampleTime(long struct, long value) Unsafe version ofsampleTime. -
nexpressionCount
public static void nexpressionCount(long struct, int value) Unsafe version ofexpressionCount. -
nexpressionWeightings
Unsafe version ofexpressionWeightings. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-