QVR 4.0.1
A library to build Virtual Reality applications
Classes | Enumerations
config.hpp File Reference

Classes

class  QVRDeviceConfig
 Configuration of a QVRDevice. More...
 
class  QVRObserverConfig
 Configuration of a QVRObserver. More...
 
class  QVRWindowConfig
 Configuration of a QVRWindow. More...
 
class  QVRProcessConfig
 Configuration of a QVRProcess. More...
 
class  QVRConfig
 QVR configuration of a Virtual Reality display setup. More...
 

Enumerations

enum  QVRDeviceTrackingType {
  QVR_Device_Tracking_None , QVR_Device_Tracking_Static , QVR_Device_Tracking_VRPN , QVR_Device_Tracking_Oculus ,
  QVR_Device_Tracking_OpenVR , QVR_Device_Tracking_GoogleVR
}
 Device tracking method. More...
 
enum  QVRDeviceButtonsType {
  QVR_Device_Buttons_None , QVR_Device_Buttons_Static , QVR_Device_Buttons_Gamepad , QVR_Device_Buttons_VRPN ,
  QVR_Device_Buttons_Oculus , QVR_Device_Buttons_OpenVR , QVR_Device_Buttons_GoogleVR
}
 Device buttons query method. More...
 
enum  QVRDeviceAnalogsType {
  QVR_Device_Analogs_None , QVR_Device_Analogs_Static , QVR_Device_Analogs_Gamepad , QVR_Device_Analogs_VRPN ,
  QVR_Device_Analogs_Oculus , QVR_Device_Analogs_OpenVR , QVR_Device_Analogs_GoogleVR
}
 Device analogs query method. More...
 
enum  QVRButton {
  QVR_Button_L1 , QVR_Button_L2 , QVR_Button_L3 , QVR_Button_R1 ,
  QVR_Button_R2 , QVR_Button_R3 , QVR_Button_A , QVR_Button_B ,
  QVR_Button_X , QVR_Button_Y , QVR_Button_Up , QVR_Button_Down ,
  QVR_Button_Left , QVR_Button_Right , QVR_Button_Center , QVR_Button_Select ,
  QVR_Button_Start , QVR_Button_Menu , QVR_Button_Back , QVR_Button_Trigger ,
  QVR_Button_Unknown
}
 Device buttons. More...
 
enum  QVRAnalog {
  QVR_Analog_Trigger , QVR_Analog_Left_Trigger = QVR_Analog_Trigger , QVR_Analog_Right_Trigger , QVR_Analog_Grip ,
  QVR_Analog_Left_Grip = QVR_Analog_Grip , QVR_Analog_Right_Grip , QVR_Analog_Axis_X , QVR_Analog_Axis_Y ,
  QVR_Analog_Left_Axis_X = QVR_Analog_Axis_X , QVR_Analog_Left_Axis_Y = QVR_Analog_Axis_Y , QVR_Analog_Right_Axis_X , QVR_Analog_Right_Axis_Y ,
  QVR_Analog_Unknown
}
 Device analog elements. More...
 
enum  QVRNavigationType { QVR_Navigation_Stationary , QVR_Navigation_Device , QVR_Navigation_WASDQE , QVR_Navigation_Custom }
 Observer navigation type. More...
 
enum  QVRTrackingType { QVR_Tracking_Stationary , QVR_Tracking_Device , QVR_Tracking_Custom }
 Observer tracking type. More...
 
enum  QVREye { QVR_Eye_Center = 0 , QVR_Eye_Left = 1 , QVR_Eye_Right = 2 }
 Eye of an observer. More...
 
enum  QVROutputMode {
  QVR_Output_Center = 0 , QVR_Output_Left = 1 , QVR_Output_Right = 2 , QVR_Output_Stereo = 3 ,
  QVR_Output_Red_Cyan = 4 , QVR_Output_Green_Magenta = 5 , QVR_Output_Amber_Blue = 6 , QVR_Output_Oculus = 7 ,
  QVR_Output_OpenVR = 8 , QVR_Output_GoogleVR = 9
}
 Output mode of a QVRWindow. More...
 
enum  QVRIpcType { QVR_IPC_TcpSocket , QVR_IPC_LocalSocket , QVR_IPC_SharedMemory , QVR_IPC_Automatic }
 Types of inter-process communication that can be used if multiple processes are configured. More...
 

Enumeration Type Documentation

◆ QVRAnalog

enum QVRAnalog

Device analog elements.

Enumerator
QVR_Analog_Trigger 

Trigger element, with values in [0,1].

QVR_Analog_Left_Trigger 

Left hand trigger element, with values in [0,1].

QVR_Analog_Right_Trigger 

Right hand trigger element, with values in [0,1].

QVR_Analog_Grip 

Grip element, with values in [0,1].

QVR_Analog_Left_Grip 

Left hand grip element, with values in [0,1].

QVR_Analog_Right_Grip 

Right hand grip element, with values in [0,1].

QVR_Analog_Axis_X 

Horizontal axis with values in [-1,1].

QVR_Analog_Axis_Y 

Vertical axis with values in [-1,1].

QVR_Analog_Left_Axis_X 

Left hand horizontal axis with values in [-1,1].

QVR_Analog_Left_Axis_Y 

Left hand vertical axis with values in [-1,1].

QVR_Analog_Right_Axis_X 

Right hand horizontal axis with values in [-1,1].

QVR_Analog_Right_Axis_Y 

Right hand vertical axis with values in [-1,1].

QVR_Analog_Unknown 

Unknown or unidentified analog element.

◆ QVRButton

enum QVRButton

Device buttons.

Enumerator
QVR_Button_L1 

L1 button, typically found on gamepads.

QVR_Button_L2 

L2 button, typically found on gamepads.

QVR_Button_L3 

L3 button, typically found on some gamepads.

QVR_Button_R1 

R1 button, typically found on gamepads.

QVR_Button_R2 

R2 button, typically found on gamepads.

QVR_Button_R3 

R3 button, typically found on some gamepads.

QVR_Button_A 

A button, typically found on gamepads.

QVR_Button_B 

B button, typically found on gamepads.

QVR_Button_X 

X button, typically found on gamepads.

QVR_Button_Y 

Y button, typically found on gamepads.

QVR_Button_Up 

Up button, typically used together with other direction buttons.

QVR_Button_Down 

Down button, typically used together with other direction buttons.

QVR_Button_Left 

Left button, typically used together with other direction buttons.

QVR_Button_Right 

Right button, typically used together with other direction buttons.

QVR_Button_Center 

Center button, typically found on some gamepads.

QVR_Button_Select 

Select button, typically found on some gamepads.

QVR_Button_Start 

Start button, typically found on some gamepads.

QVR_Button_Menu 

Menu button.

QVR_Button_Back 

Back button.

QVR_Button_Trigger 

Trigger button.

QVR_Button_Unknown 

Unknown or unidentified button.

◆ QVRDeviceAnalogsType

Device analogs query method.

Enumerator
QVR_Device_Analogs_None 

An device without analog joystick elements.

QVR_Device_Analogs_Static 

A device with analog joystick elements that are static (never changed).

QVR_Device_Analogs_Gamepad 

A gamepad with analog joystick elements.

QVR_Device_Analogs_VRPN 

A device with analog joystick elements queried via VRPN.

QVR_Device_Analogs_Oculus 

A device with analog joystick elements queried via Oculus SDK.

QVR_Device_Analogs_OpenVR 

A device with analog joystick elements queried via OpenVR (HTC Vive).

QVR_Device_Analogs_GoogleVR 

A device with analog joystick elements queried via Google VR.

◆ QVRDeviceButtonsType

Device buttons query method.

Enumerator
QVR_Device_Buttons_None 

A device without digital buttons.

QVR_Device_Buttons_Static 

A device with digital buttons that are static (never changed).

QVR_Device_Buttons_Gamepad 

A gamepad with digital buttons.

QVR_Device_Buttons_VRPN 

A device with digital buttons queried via VRPN.

QVR_Device_Buttons_Oculus 

A device with digital buttons queried via Oculus SDK.

QVR_Device_Buttons_OpenVR 

A device with digital buttons queried via OpenVR (HTC Vive).

QVR_Device_Buttons_GoogleVR 

A device with digital buttons queried via Google VR.

◆ QVRDeviceTrackingType

Device tracking method.

Enumerator
QVR_Device_Tracking_None 

An untracked device without position and orientation.

QVR_Device_Tracking_Static 

A untracked device with a static position and orientation.

QVR_Device_Tracking_VRPN 

A device with position and orientation tracked via VRPN.

QVR_Device_Tracking_Oculus 

A device with position and orientation tracked via Oculus Rift.

QVR_Device_Tracking_OpenVR 

A device with position and orientation tracked via OpenVR (HTC Vive).

QVR_Device_Tracking_GoogleVR 

A device with position and orientation tracked via Google VR (Cardboard, Daydream).

◆ QVREye

enum QVREye

Eye of an observer.

Enumerator
QVR_Eye_Center 

The center between left and right eye.

QVR_Eye_Left 

The left eye.

QVR_Eye_Right 

The right eye.

◆ QVRIpcType

enum QVRIpcType

Types of inter-process communication that can be used if multiple processes are configured.

Enumerator
QVR_IPC_TcpSocket 

TCP sockets. Processes may run on different hosts.

QVR_IPC_LocalSocket 

Local sockets (UNIX domain sockets). All processes must run on the same host.

QVR_IPC_SharedMemory 

Shared Memory. All processes must run on the same host.

QVR_IPC_Automatic 

Automatic. QVR will choose QVR_IPC_TcpSocket if at least one process has a launch command configured, and QVR_IPC_SharedMemory otherwise.

◆ QVRNavigationType

Observer navigation type.

Enumerator
QVR_Navigation_Stationary 

An observer that never navigates anywhere.

QVR_Navigation_Device 

An observer that navigates via a controller device, e.g. wand, flystick, or gamepad.

The following controller types should work:

  • Four analog joystick elements (QVR_Analog_Left_Axis_X, QVR_Analog_Left_Axis_Y, QVR_Analog_Right_Axis_X, QVR_Analog_Right_Axis_Y).
  • Two analog joystick elements (QVR_Analog_Axis_X, QVR_Analog_Axis_Y) and four digital buttons (QVR_Button_Up, QVR_Button_Down, QVR_Button_Left, QVR_Button_Down).
  • Two analog joystick elements (QVR_Analog_Axis_X, QVR_Analog_Axis_Y) and less than four buttons.
  • A single digital button and nothing else (special case for Google Cardboard).

If the device is tracked, the movement directions are based on the device orientation. Otherwise, they are based on the observer orientation.

QVR_Navigation_WASDQE 

An observer with keyboard and mouse navigation (WASD+QE and lookaround).

WASDQE observers navigate via a common keyboard and mouse mapping: the keys WASD are use for forward, sideways, and backward movement, and the additional keys QE move up and down. Mouse movements for looking left/right/up/down are activated by clicking in a window and deactivated by pressing ESC.

QVR_Navigation_Custom 

An observer with navigation implemented by QVRApp::update().

◆ QVROutputMode

Output mode of a QVRWindow.

Enumerator
QVR_Output_Center 

Output a monoscopic view for QVR_Eye_Center.

QVR_Output_Left 

Output a monoscopic view for QVR_Eye_Left.

QVR_Output_Right 

Output a monoscopic view for QVR_Eye_Right.

QVR_Output_Stereo 

Output a stereoscopic view via OpenGL-supported quad-buffer stereo.

QVR_Output_Red_Cyan 

Output a stereoscopic view for red-cyan anaglyph glasses.

QVR_Output_Green_Magenta 

Output a stereoscopic view for green-magenta anaglyph glasses.

QVR_Output_Amber_Blue 

Output a stereoscopic view for amber-blue anaglyph glasses.

QVR_Output_Oculus 

Output a stereoscopic view for the Oculus Rift head-mounted display.

QVR_Output_OpenVR 

Output a stereoscopic view for the HTC Vive head-mounted display.

QVR_Output_GoogleVR 

Output a stereoscopic view for Google VR devices (Cardboard, Daydream).

◆ QVRTrackingType

Observer tracking type.

Enumerator
QVR_Tracking_Stationary 

An observer that never moves.

QVR_Tracking_Device 

An observer that is tracked via a tracked device.

QVR_Tracking_Custom 

An observer with tracking implemented by QVRApp::update().