UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
FAQ
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes

Unigine::Plugins::AppOculus Class

Header: #include <plugins/UnigineAppOculus.h>

This set of functions is available when the AppOculus plugin is loaded.

Notice
AppOculus plugin cannot be used in a Qt-based application

If the plugin is loaded together with the engine, the HAS_APP_OCULUS definition is set. This definition can be used, for example, to avoid errors if the plugin is not loaded: the code in which the plugin functions are executed can be wrapped around as follows:

Source code (UnigineScript)
#ifdef HAS_APP_OCULUS
	// engine.oculus functions
#endif

Notice
For more detailed information on application development with the Oculus Rift support, check also the following:

See also#

AppOculus Class

Members


int getAvailableHmdCaps ( ) #

Returns HMD capability bits that the HMD currently supports.

Return value

HMD capability bits.

int getAvailableTrackingCaps ( ) #

Returns tracking capability bits that the system currently supports.

Return value

Tracking capability bits.

Math::vec3 getControllerAxis ( int device, int axis ) #

Returns the coordinates of the specified controller axis along the X and Y axes.

Arguments

Return value

X and Y in the range of [-1;1] ([0;1] for a trigger); Z is always zero.

int getControllerButtonPressed ( int device, int button ) #

Returns the value indicating if the specified button is pressed.

Arguments

Return value

1 if the button is pressed; otherwise - 0.

int getControllerButtonTouched ( int device, int button ) #

Returns the value indicating if the specified button is touched.

Arguments

Return value

1 if the button is pressed; otherwise - 0.

void setControllerVibration ( int device, unsigned short duration, float amplitude ) #

Sets the vibration of the given duration and amplitude.

Arguments

  • int device - ID if the device.
  • unsigned short duration - Duration of the vibration.
  • float amplitude - Amplitude of the vibration.

int getDefaultHmdCaps ( ) #

Returns HMD capability bits that are default for the current HMD.

Return value

Default HMD capability bits.

int getDefaultTrackingCaps ( ) #

Returns tracking capability bits that are default for the current system.

Return value

Default tracking capability bits.

Math::vec3 getDeviceAngularVelocity ( int device ) #

Returns a device angular velocity, in radians per second.

Arguments

  • int device - A device ID.

Return value

Angular velocity.

bool isDeviceConnected ( int device ) #

Returns a value indicating if the device connected to the slot.

Arguments

  • int device - A device ID.

Return value

true - connected; false - not connected.

Math::mat4 getDevicePose ( int device ) #

Returns a single pose for a tracked device.

Arguments

  • int device - A device ID.

Return value

Identity matrix.

Math::vec3 getDeviceVelocity ( int device ) #

Returns a device velocity in tracker space, in meters per second.

Arguments

  • int device - A device ID.

Return value

Velocity.

void setEnabled ( bool enabled ) #

Toggles the VR mode.

Arguments

  • bool enabled - true to enable the VR mode; false to disable it.

bool isEnabled ( ) #

Returns the value indicating if the VR mode is enabled or not.

Return value

true if the VR mode is enabled; false if it is disabled.

vec4 getEyeFov ( int num ) #

Returns the current field of view of the given eye.

Arguments

  • int num - Eye: 0 for the left eye, 1 for the right eye.

Return value

Eye field of view.

Math::vec3 getEyePosition ( int num ) #

Returns the current position of the given eye. The returned value was already multiplied by the current world scale.

Arguments

  • int num - Eye: 0 for the left eye, 1 for the right eye.

Return value

The eye position.

quat getEyeRotation ( int num ) #

Returns the current orientation of the given eye.

Arguments

  • int num - Eye: 0 for the left eye, 1 for the right eye.

Return value

The eye orientation.

Math::vec3 getHeadAngularAcceleration ( ) #

Returns the current angular acceleration of the head.

Return value

Angular acceleration of the head in radians per second squared.

Math::vec3 getHeadAngularVelocity ( ) #

Returns the current angular velocity of the head.

Return value

Angular velocity of the head in radians per second.

Math::vec3 getHeadLinearAcceleration ( ) #

Returns the current linear acceleration of the head.

Return value

Linear acceleration of the head in meters per second squared.

Math::vec3 getHeadLinearVelocity ( ) #

Returns the current linear velocity of the head.

Return value

Linear velocity of the head in meters per second.

Math::vec3 getHeadPosition ( ) #

Returns the current position of the head. The returned value was already multiplied by the current world scale.

Return value

Position of the head.

void setHeadPositionLock ( int lock ) #

Locks the head position.

Arguments

  • int lock - 1 to lock the head position.

int isHeadPositionLocked ( ) #

Returns the value indicating if the head position is locked.

Return value

1 if the head position is locked; otherwise - 0.

quat getHeadRotation ( ) #

Returns the current orientation of the head.

Return value

Orientation of the head.

void setHeadRotationLock ( int lock ) #

Locks the head rotation.

Arguments

  • int lock - 1 to lock the head rotation.

int isHeadRotationLocked ( ) #

Returns the value indicating if the head rotation is locked.

Return value

1 if the head rotation is locked; otherwise - 0.

vec4 getHmdDefaultFov ( int num ) #

Returns the recommended optical field of view for the specified eye.

Arguments

  • int num - Eye: 0 for the left eye, 1 for the right eye.

Return value

Recommended field of view.

int getHmdFirmwareMajor ( ) #

Returns the major version of the HMD firmware.

Return value

The major version of the HMD firmware.

int getHmdFirmwareMinor ( ) #

Returns the minor version of the HMD firmware.

Return value

The minor version of the HMD firmware.

int getHmdHeight ( ) #

Returns the vertical resolution of the full HMD screen (both eyes) in pixels.

Return value

Vertical resolution in pixels.

string getHmdManufacturer ( ) #

Returns the name of the HMD manufacturer (UTF-8 encoded identification string).

Return value

The manufacturer name.

vec4 getHmdMaxFov ( int num ) #

Returns the maximum optical field of view that can be practically rendered for the specified eye.

Arguments

  • int num - Eye: 0 for the left eye, 1 for the right eye.

Return value

Maximum field of view.

int getHmdProductID ( ) #

Returns the HID (USB) product identifier of the device.

Return value

HID product identifier.

string getHmdProductName ( ) #

Returns the name of the device (UTF-8 encoded product identification string). For example: "Oculus Rift DK1".

Return value

The device name.

string getHmdSerialNumber ( ) #

Returns the serial number of the HMD.

Return value

HMD serial number.

float getHmdTrackerHFov ( ) #

Returns the horizontal FOV (if present) of the tracking sensor frustum in degrees.

Return value

Horizontal FOV of the tracking sensor frustum in degrees.

float getHmdTrackerVFov ( ) #

Returns the vertical FOV (if present) of the tracking sensor frustum in degrees.

Return value

Vertical FOV of the tracking sensor frustum in degrees.

float getHmdTrackerZFar ( ) #

Returns the distance from the tracking sensor to the tracking frustum far Z. The returned value was already multiplied by the current world scale.

Return value

Distance from the tracking sensor to the tracking frustum far Z in meters.

float getHmdTrackerZNear ( ) #

Returns the distance from the tracking sensor to the tracking frustum near Z. The returned value was already multiplied by the current world scale.

Return value

Distance from the tracking sensor to the tracking frustum near Z in meters.

int getHmdType ( ) #

Returns the type of the HMD: OCULUS_HMD_DK1, OCULUS_HMD_DKHD, OCULUS_HMD_DK2 or OCULUS_HMD_CB.

Return value

The HMD type.

int getHmdVendorID ( ) #

Returns the HID (USB) vendor identifier of the device.

Return value

Vendor ID.

int getHmdWidth ( ) #

Returns the horizontal resolution of the full HMD screen (both eyes) in pixels.

Return value

Horizontal resolution in pixels.

Math::vec3 getLeveledTrackerPosition ( ) #

Returns position of the leveled sensor (aligned with gravity) relative to the tracking origin.

Return value

Position of the leveled sensor relative to the tracking origin.

quat getLeveledTrackerRotation ( ) #

Returns orientation (only sensor yaw, not roll and pitch) of the leveled sensor (aligned with gravity) relative to the tracking origin.

Return value

Orientation (yaw) of the sensor relative to the tracking origin.

bool isPoseValid ( int device ) #

Returns a value indicating if the device pose is valid.

Arguments

  • int device - A device ID.

Return value

true - valid; false - invalid.

void setPositionScale ( float scale ) #

Sets a new scale for the world. When increasing the scale, the objects get smaller when they are farther away.

Arguments

  • float scale - World scale.

float getPositionScale ( ) #

Returns the current world scale. When increasing the scale, the objects get smaller when they are farther away.

Return value

World scale.

Math::vec3 getTrackerPosition ( ) #

Returns the position of the sensor relative to the tracking origin. The returned value was already multiplied by the current world scale.

Return value

Position of the sensor relative to the tracking origin.

quat getTrackerRotation ( ) #

Returns orientation (sensor roll and pitch) of the sensor relative to the tracking origin.

Return value

Orientation (roll and pitch) of the sensor relative to the tracking origin.

int getTrackingStatus ( ) #

Returns the current status of the sensor tracking (OCULUS_STATUS_* variables).

Return value

Status of the sensor tracking (OCULUS_STATUS_* variables).

string getVersion ( ) #

Returns the libOVRRT version.

Return value

The libOVR version (a UTF-8 encoded null-terminated version string).

int getViewportMode ( ) #

Returns a value indicating the current viewport mode, that determines the type of image to be displayed in the viewport.

Return value

Current viewport mode. One of the following values:
  • 0 - no image (black screen)
  • 1 - mono image
  • 2 - stereo image (left and right eye)
  • 3 - stereoscopic spherical image

void setViewportMode ( int mode ) #

Sets the viewport mode, that determinss the type of image to be displayed in the viewport.

Arguments

  • int mode - Viewport mode. One of the following values:
    • 0 - no image (black screen)
    • 1 - mono image
    • 2 - stereo image (left and right eye)
    • 3 - stereoscopic spherical image

int isVisible ( ) #

Returns a value indicating if the process has VR focus and thus is visible in HMD.

Return value

1 if the process is visible in the HMD; otherwise, 0.

void resetTracking ( ) #

Re-centers the sensor position and orientation: the (x,y,z) positional components and the yaw component of orientation. The roll and pitch components are always determined by gravity and cannot be redefined. See also ovr_RecenterTrackingOrigin method in the OVR_CAPI.h file reference.
Last update: 2019-11-28