public class OculusVRInput extends java.lang.Object implements VRInputAPI
| Modifier and Type | Class and Description |
|---|---|
class |
OculusVRInput.OculusController
The object form representation of a controller.
|
| Constructor and Description |
|---|
OculusVRInput(OculusVR hardware,
long session,
org.lwjgl.ovr.OVRSessionStatus sessionStatus,
org.lwjgl.ovr.OVRTrackingState trackingState) |
| Modifier and Type | Method and Description |
|---|---|
void |
dispose() |
Vector3f |
getAngularVelocity(int controllerIndex)
Get the controller angular velocity on all axes.
|
Vector2f |
getAxis(int controllerIndex,
VRInputType forAxis)
Get the axis value for the given input on the given controller.
|
Vector2f |
getAxisDeltaSinceLastCall(int controllerIndex,
VRInputType forAxis)
Get the controller axis delta from the last value.
|
float |
getAxisMultiplier()
Get the controller axis multiplier.
|
Vector2f |
getAxisRaw(int controllerIndex,
VRInputType forAxis)
Get the axis value for the given input on the given controller.
|
Vector3f |
getFinalObserverPosition(int index)
Get the position of the input after all positional tracking is complete.
|
Quaternion |
getFinalObserverRotation(int index)
Get where is the controller pointing, after all rotations are combined.
|
Quaternion |
getOrientation(int index)
Get the orientation of the input.
|
Vector3f |
getPosition(int index)
Get the position of the input.
|
java.lang.Object |
getRawControllerState(int index)
Get the native wrapping of a controller state.
|
VRTrackedController |
getTrackedController(int index)
Get a tracked controller (for example, a hand controller) that is attached to the VR system.
|
int |
getTrackedControllerCount()
Get the number of tracked controllers (for example, hand controllers) attached to the VR system.
|
Vector3f |
getVelocity(int controllerIndex)
Get the controller velocity on all axes.
|
boolean |
init()
Initialize the input.
|
boolean |
isButtonDown(int controllerIndex,
VRInputType checkButton)
Check if the given button is down (more generally if the given input type is activated).
|
boolean |
isButtonDownForStatus(int controllerIndex,
VRInputType checkButton,
int buttons,
int touch) |
boolean |
isInputDeviceTracking(int index)
Check if the input device is actually tracked (i-e if we can obtain a pose from the input).
|
boolean |
isInputFocused()
Check if the VR system has the focus and if it's not used by other process.
|
void |
resetInputSinceLastCall()
Reset the current activation of the inputs.
|
void |
setAxisMultiplier(float axisMultiplier)
Set the controller axis multiplier.
|
void |
swapHands()
Swap the two hands (exchange the hands' controller 1 and 2 indices).
|
void |
triggerHapticPulse(int controllerIndex,
float seconds)
Trigger a haptic pulse on the selected controller for the duration given in parameters (in seconds).
|
void |
updateConnectedControllers()
Update the connected controllers.
|
void |
updateControllerStates()
Update the controller states.
|
boolean |
wasButtonPressedSinceLastCall(int controllerIndex,
VRInputType checkButton)
Check if the given button / input from the given controller has been just pressed / activated.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAnalogActionState, getAnalogActionState, getDigitalActionState, getDigitalActionState, registerActionManifest, setActiveActionSet, triggerHapticAction, triggerHapticActionpublic OculusVRInput(OculusVR hardware, long session, org.lwjgl.ovr.OVRSessionStatus sessionStatus, org.lwjgl.ovr.OVRTrackingState trackingState)
public void dispose()
public void updateControllerStates()
VRInputAPIupdateControllerStates in interface VRInputAPIpublic Vector3f getPosition(int index)
VRInputAPIgetPosition in interface VRInputAPIindex - the index of the controller.public Vector3f getVelocity(int controllerIndex)
VRInputAPIgetVelocity in interface VRInputAPIcontrollerIndex - the index of the controller.VRInputAPI.getAngularVelocity(int)public Quaternion getOrientation(int index)
VRInputAPIgetOrientation in interface VRInputAPIindex - the index of the controller.public Vector3f getAngularVelocity(int controllerIndex)
VRInputAPIgetAngularVelocity in interface VRInputAPIcontrollerIndex - the index of the controller.VRInputAPI.getVelocity(int)public Quaternion getFinalObserverRotation(int index)
VRInputAPIgetFinalObserverRotation in interface VRInputAPIindex - the index of the controller.public Vector3f getFinalObserverPosition(int index)
VRInputAPIgetFinalObserverPosition in interface VRInputAPIindex - the index of the controller.public boolean isInputDeviceTracking(int index)
VRInputAPIisInputDeviceTracking in interface VRInputAPIindex - the index of the controller.true if the input device is actually tracked and false otherwise.public Vector2f getAxis(int controllerIndex, VRInputType forAxis)
VRInputAPIraw value multiplied by the axis multiplier.
Deprecated as should use an actions manifest approach. See VRInputAPI.registerActionManifest(java.lang.String, java.lang.String). Note; action based will only work with the OpenVR apigetAxis in interface VRInputAPIcontrollerIndex - the index of the controller.forAxis - the axis.VRInputAPI.getAxisRaw(int, VRInputType),
VRInputAPI.getAxisMultiplier()public Vector2f getAxisRaw(int controllerIndex, VRInputType forAxis)
VRInputAPIVRInputAPI.registerActionManifest(java.lang.String, java.lang.String) Note; action based will only work with the OpenVR apigetAxisRaw in interface VRInputAPIcontrollerIndex - the index of the controller.forAxis - the axis.VRInputAPI.getAxis(int, VRInputType)public boolean isButtonDown(int controllerIndex,
VRInputType checkButton)
VRInputAPIVRInputAPI.registerActionManifest(java.lang.String, java.lang.String). Note; action based will only work with the OpenVR apiisButtonDown in interface VRInputAPIcontrollerIndex - the index of the controller to check.checkButton - the button / input to check.true if the button / input is down / activated and false otherwise.public boolean isButtonDownForStatus(int controllerIndex,
VRInputType checkButton,
int buttons,
int touch)
public void resetInputSinceLastCall()
VRInputAPIpublic boolean wasButtonPressedSinceLastCall(int controllerIndex,
VRInputType checkButton)
VRInputAPIVRInputAPI.registerActionManifest(java.lang.String, java.lang.String). Note; action based will only work with the OpenVR apiwasButtonPressedSinceLastCall in interface VRInputAPIcontrollerIndex - the index of the controller.checkButton - the button / input to check.true if the given button / input from the given controller has been just pressed / activated and false otherwise.public Vector2f getAxisDeltaSinceLastCall(int controllerIndex, VRInputType forAxis)
VRInputAPIVRInputAPI.registerActionManifest(java.lang.String, java.lang.String). Note; action based will only work with the OpenVR apigetAxisDeltaSinceLastCall in interface VRInputAPIcontrollerIndex - the index of the controller.forAxis - the axis.public boolean init()
VRInputAPIinit in interface VRInputAPItrue if the initialization is successful and false otherwise.public void updateConnectedControllers()
VRInputAPIupdateConnectedControllers in interface VRInputAPIpublic float getAxisMultiplier()
VRInputAPIgetAxisMultiplier in interface VRInputAPIVRInputAPI.setAxisMultiplier(float)public void setAxisMultiplier(float axisMultiplier)
VRInputAPIsetAxisMultiplier in interface VRInputAPIaxisMultiplier - the controller axis multiplier.VRInputAPI.getAxisMultiplier()public void triggerHapticPulse(int controllerIndex,
float seconds)
VRInputAPItriggerHapticPulse in interface VRInputAPIcontrollerIndex - the index of the controller.seconds - the duration of the pulse in seconds.public boolean isInputFocused()
VRInputAPIisInputFocused in interface VRInputAPItrue if the VR system has the focus and false otherwise.public java.lang.Object getRawControllerState(int index)
VRInputAPIgetRawControllerState in interface VRInputAPIindex - the index of the controller.public void swapHands()
VRInputAPIswapHands in interface VRInputAPIpublic int getTrackedControllerCount()
VRInputAPIgetTrackedControllerCount in interface VRInputAPIVRInputAPI.getTrackedController(int)public VRTrackedController getTrackedController(int index)
VRInputAPIgetTrackedController in interface VRInputAPIindex - the index of the controller.VRInputAPI.getTrackedControllerCount()