Class XrInteractionProfileAnalogThresholdVALVE
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
Applications can also chain a single XrInteractionProfileAnalogThresholdVALVE structure on the next chain of any SuggestInteractionProfileBindings call. Runtimes must support this kind of chaining. This method of specifying analog thresholds is deprecated however, and should not be used by any new applications.
If a threshold struct is present for a given conversion, the runtime must use those thresholds instead of applying its own whenever it is using the binding suggested by the application.
onThreshold and offThreshold permit allow the application to specify that it wants hysteresis to be applied to the threshold operation. If onThreshold is smaller than offThreshold, the runtime must return ERROR_VALIDATION_FAILURE.
onHaptic and offHaptic allow the application to specify that it wants automatic haptic feedback to be generated when the boolean output of the threshold operation changes from false to true or vice versa. If these fields are not NULL, the runtime must trigger a haptic output with the specified characteristics. If the device has multiple haptic outputs, the runtime should use the haptic output that is most appropriate for the specified input path.
If a suggested binding with action and binding is not in the binding list for this interaction profile, the runtime must return ERROR_PATH_UNSUPPORTED.
Valid Usage (Implicit)
- The
XR_VALVE_analog_thresholdextension must be enabled prior to usingXrInteractionProfileAnalogThresholdVALVE typemust beTYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVEnextmust beNULLor a valid pointer to the next structure in a structure chainactionmust be a validXrActionhandle- If
onHapticis notNULL,onHapticmust be a pointer to a validXrHapticBaseHeader-based structure. See also:XrHapticAmplitudeEnvelopeVibrationFB,XrHapticPcmVibrationFB,XrHapticVibration - If
offHapticis notNULL,offHapticmust be a pointer to a validXrHapticBaseHeader-based structure. See also:XrHapticAmplitudeEnvelopeVibrationFB,XrHapticPcmVibrationFB,XrHapticVibration
See Also
Layout
struct XrInteractionProfileAnalogThresholdVALVE {
XrStructureType type();
void const * next();
XrAction action();
XrPath binding();
float onThreshold();
float offThreshold();
XrHapticBaseHeader const * onHaptic();
XrHapticBaseHeader const * offHaptic();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofXrInteractionProfileAnalogThresholdVALVEstructs.Nested 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 member offsets.static 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 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
ConstructorsConstructorDescriptionCreates aXrInteractionProfileAnalogThresholdVALVEinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionlongaction()the handle of an action in the suggested binding list.Sets the specified value to theaction()field.longbinding()the input path used for the specified action in the suggested binding list.binding(long value) Sets the specified value to thebinding()field.calloc()Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated withBufferUtils.create(int capacity) Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated withBufferUtils.create(long address) Returns a newXrInteractionProfileAnalogThresholdVALVEinstance for the specified memory address.create(long address, int capacity) Create aXrInteractionProfileAnalogThresholdVALVE.Bufferinstance at the specified memory.Downcasts the specifiedXrBindingModificationBaseHeaderKHRinstance toXrInteractionProfileAnalogThresholdVALVE.Downcasts the specifiedXrBindingModificationBaseHeaderKHR.Bufferinstance toXrInteractionProfileAnalogThresholdVALVE.Buffer.static @Nullable XrInteractionProfileAnalogThresholdVALVEcreateSafe(long address) static @Nullable XrInteractionProfileAnalogThresholdVALVE.BuffercreateSafe(long address, int capacity) malloc()Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated on the specifiedMemoryStack.static longnaction(long struct) Unsafe version ofaction().static voidUnsafe version ofaction.static longnbinding(long struct) Unsafe version ofbinding().static voidnbinding(long struct, long value) Unsafe version ofbinding.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static @Nullable XrHapticBaseHeadernoffHaptic(long struct) Unsafe version ofoffHaptic().static voidnoffHaptic(long struct, @Nullable XrHapticBaseHeader value) Unsafe version ofoffHaptic.static floatnoffThreshold(long struct) Unsafe version ofoffThreshold().static voidnoffThreshold(long struct, float value) Unsafe version ofoffThreshold.static @Nullable XrHapticBaseHeadernonHaptic(long struct) Unsafe version ofonHaptic().static voidnonHaptic(long struct, @Nullable XrHapticBaseHeader value) Unsafe version ofonHaptic.static floatnonThreshold(long struct) Unsafe version ofonThreshold().static voidnonThreshold(long struct, float value) Unsafe version ofonThreshold.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.@Nullable XrHapticBaseHeaderthe haptic output that the runtime must trigger when the binding changes from true to false.offHaptic(@Nullable XrHapticBaseHeader value) Sets the address of the specifiedXrHapticBaseHeaderto theoffHaptic()field.floatthe value between 0.0 and 1.0 at which the runtime must consider the binding to be false if it was previous true.offThreshold(float value) Sets the specified value to theoffThreshold()field.@Nullable XrHapticBaseHeaderonHaptic()the haptic output that the runtime must trigger when the binding changes from false to true.onHaptic(@Nullable XrHapticBaseHeader value) Sets the address of the specifiedXrHapticBaseHeaderto theonHaptic()field.floatthe value between 0.0 and 1.0 at which the runtime must consider the binding to be true.onThreshold(float value) Sets the specified value to theonThreshold()field.set(int type, long next, XrAction action, long binding, float onThreshold, float offThreshold, @Nullable XrHapticBaseHeader onHaptic, @Nullable XrHapticBaseHeader offHaptic) 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_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVEvalue 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. -
ACTION
public static final int ACTIONThe struct member offsets. -
BINDING
public static final int BINDINGThe struct member offsets. -
ONTHRESHOLD
public static final int ONTHRESHOLDThe struct member offsets. -
OFFTHRESHOLD
public static final int OFFTHRESHOLDThe struct member offsets. -
ONHAPTIC
public static final int ONHAPTICThe struct member offsets. -
OFFHAPTIC
public static final int OFFHAPTICThe struct member offsets.
-
-
Constructor Details
-
XrInteractionProfileAnalogThresholdVALVE
Creates aXrInteractionProfileAnalogThresholdVALVEinstance 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<XrInteractionProfileAnalogThresholdVALVE>
-
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. -
action
public long action()the handle of an action in the suggested binding list. -
binding
public long binding()the input path used for the specified action in the suggested binding list. -
onThreshold
public float onThreshold()the value between 0.0 and 1.0 at which the runtime must consider the binding to be true. The binding must remain true until the input analog value falls belowoffThreshold. -
offThreshold
public float offThreshold()the value between 0.0 and 1.0 at which the runtime must consider the binding to be false if it was previous true. -
onHaptic
the haptic output that the runtime must trigger when the binding changes from false to true. If this field is NULL, the runtime must not trigger any haptic output on the threshold. This field can point to any supported sub-type ofXrHapticBaseHeader. -
offHaptic
the haptic output that the runtime must trigger when the binding changes from true to false. If this field is NULL, the runtime must not trigger any haptic output on the threshold. This field can point to any supported sub-type ofXrHapticBaseHeader. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVEvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
action
Sets the specified value to theaction()field. -
binding
Sets the specified value to thebinding()field. -
onThreshold
Sets the specified value to theonThreshold()field. -
offThreshold
Sets the specified value to theoffThreshold()field. -
onHaptic
Sets the address of the specifiedXrHapticBaseHeaderto theonHaptic()field. -
offHaptic
Sets the address of the specifiedXrHapticBaseHeaderto theoffHaptic()field. -
set
public XrInteractionProfileAnalogThresholdVALVE set(int type, long next, XrAction action, long binding, float onThreshold, float offThreshold, @Nullable XrHapticBaseHeader onHaptic, @Nullable XrHapticBaseHeader offHaptic) 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 newXrInteractionProfileAnalogThresholdVALVEinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated withBufferUtils. -
create
Returns a newXrInteractionProfileAnalogThresholdVALVEinstance for the specified memory address. -
createSafe
-
create
public static XrInteractionProfileAnalogThresholdVALVE create(XrBindingModificationBaseHeaderKHR value) Downcasts the specifiedXrBindingModificationBaseHeaderKHRinstance toXrInteractionProfileAnalogThresholdVALVE. -
malloc
Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrInteractionProfileAnalogThresholdVALVE.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable XrInteractionProfileAnalogThresholdVALVE.Buffer createSafe(long address, int capacity) -
create
public static XrInteractionProfileAnalogThresholdVALVE.Buffer create(XrBindingModificationBaseHeaderKHR.Buffer value) Downcasts the specifiedXrBindingModificationBaseHeaderKHR.Bufferinstance toXrInteractionProfileAnalogThresholdVALVE.Buffer. -
malloc
Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrInteractionProfileAnalogThresholdVALVEinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrInteractionProfileAnalogThresholdVALVE.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrInteractionProfileAnalogThresholdVALVE.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrInteractionProfileAnalogThresholdVALVE.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrInteractionProfileAnalogThresholdVALVE.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(). -
naction
public static long naction(long struct) Unsafe version ofaction(). -
nbinding
public static long nbinding(long struct) Unsafe version ofbinding(). -
nonThreshold
public static float nonThreshold(long struct) Unsafe version ofonThreshold(). -
noffThreshold
public static float noffThreshold(long struct) Unsafe version ofoffThreshold(). -
nonHaptic
Unsafe version ofonHaptic(). -
noffHaptic
Unsafe version ofoffHaptic(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
naction
Unsafe version ofaction. -
nbinding
public static void nbinding(long struct, long value) Unsafe version ofbinding. -
nonThreshold
public static void nonThreshold(long struct, float value) Unsafe version ofonThreshold. -
noffThreshold
public static void noffThreshold(long struct, float value) Unsafe version ofoffThreshold. -
nonHaptic
Unsafe version ofonHaptic. -
noffHaptic
Unsafe version ofoffHaptic. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-