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.
XR_VALVE_analog_threshold extension must be enabled prior to using XrInteractionProfileAnalogThresholdVALVEtype must be TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVEnext must be NULL or a valid pointer to the next structure in a structure chainaction must be a valid XrAction handleonHaptic is not NULL, onHaptic must be a pointer to a valid XrHapticBaseHeader-based structure. See also: XrHapticAmplitudeEnvelopeVibrationFB, XrHapticPcmVibrationFB, XrHapticVibrationoffHaptic is not NULL, offHaptic must be a pointer to a valid XrHapticBaseHeader-based structure. See also: XrHapticAmplitudeEnvelopeVibrationFB, XrHapticPcmVibrationFB, XrHapticVibration
struct XrInteractionProfileAnalogThresholdVALVE {
XrStructureType type;
void const * next;
XrAction action;
XrPath binding;
float onThreshold;
float offThreshold;
XrHapticBaseHeader const * onHaptic;
XrHapticBaseHeader const * offHaptic;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ACTION
The struct member offsets. |
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | BINDING
The struct member offsets. |
| public static final int | NEXT
The struct member offsets. |
| public static final int | OFFHAPTIC
The struct member offsets. |
| public static final int | OFFTHRESHOLD
The struct member offsets. |
| public static final int | ONHAPTIC
The struct member offsets. |
| public static final int | ONTHRESHOLD
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | TYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | XrInteractionProfileAnalogThresholdVALVE(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public long | |
| public XrInteractionProfileAnalogThresholdVALVE | |
| public long | |
| public XrInteractionProfileAnalogThresholdVALVE | |
| public static XrInteractionProfileAnalogThresholdVALVE | |
| public static XrInteractionProfileAnalogThresholdVALVE. | calloc(int
the buffer capacity capacity)Returns a new |
| public static XrInteractionProfileAnalogThresholdVALVE | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrInteractionProfileAnalogThresholdVALVE. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected XrInteractionProfileAnalogThresholdVALVE | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static XrInteractionProfileAnalogThresholdVALVE | |
| public static XrInteractionProfileAnalogThresholdVALVE | create(long address)
Returns a new |
| public static XrInteractionProfileAnalogThresholdVALVE | create(XrBindingModificationBaseHeaderKHR value)
Downcasts the specified |
| public static XrInteractionProfileAnalogThresholdVALVE. | create(int
the buffer capacity capacity)Returns a new |
| public static XrInteractionProfileAnalogThresholdVALVE. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static XrInteractionProfileAnalogThresholdVALVE. | create(XrBindingModificationBaseHeaderKHR.
Downcasts the specified |
| public static XrInteractionProfileAnalogThresholdVALVE | |
| public static XrInteractionProfileAnalogThresholdVALVE. | |
| public static XrInteractionProfileAnalogThresholdVALVE | |
| public static XrInteractionProfileAnalogThresholdVALVE. | malloc(int
the buffer capacity capacity)Returns a new |
| public static XrInteractionProfileAnalogThresholdVALVE | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrInteractionProfileAnalogThresholdVALVE. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public long | |
| public XrInteractionProfileAnalogThresholdVALVE | |
| public static long | |
| public static void | |
| public static XrHapticBaseHeader | |
| public static void | |
| public static float | |
| public static void | |
| public static XrHapticBaseHeader | |
| public static void | |
| public static float | |
| public static void | |
| public static int | |
| public static void | |
| public XrHapticBaseHeader | offHaptic()
the haptic output that the runtime must trigger when the binding changes from true to false. |
| public XrInteractionProfileAnalogThresholdVALVE | offHaptic(XrHapticBaseHeader value)
Sets the address of the specified |
| 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. |
| public XrInteractionProfileAnalogThresholdVALVE | |
| public XrHapticBaseHeader | onHaptic()
the haptic output that the runtime must trigger when the binding changes from false to true. |
| public XrInteractionProfileAnalogThresholdVALVE | onHaptic(XrHapticBaseHeader value)
Sets the address of the specified |
| public float | onThreshold()
the value between 0.0 and 1.0 at which the runtime must consider the binding to be true. |
| public XrInteractionProfileAnalogThresholdVALVE | |
| public XrInteractionProfileAnalogThresholdVALVE | set(int type, long next, XrAction action, long binding, float onThreshold, float offThreshold, XrHapticBaseHeader onHaptic, XrHapticBaseHeader offHaptic)
Initializes this struct with the specified values. |
| public XrInteractionProfileAnalogThresholdVALVE | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public XrInteractionProfileAnalogThresholdVALVE | |
| public XrInteractionProfileAnalogThresholdVALVE | |
| public static void |