2#include "openxr/openxr.h"
3#include "Base/Headers/Vertex.hpp"
4#include "Base/Headers/Angle.h"
45 fltp08 val = qx * qy + qz * qw;
51 else if (val <= -.49999)
Stores an angle in an optimized internal format with support for efficient trigonometric operations.
static Angle asin(t_value_type value)
Computes the principal value of the arc sine of the given value.
static Angle atan2(t_value_type x, t_value_type y)
measures the counterclockwise angle between the positive x-axis and the point (x, y)
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
A point in N-dimensional space, used primarily for spatial location information.
Common helper functions for easier interfacing with the OpenXR engine.
static Vertex< 3, fltp04 > ConvertVertex(const XrVector3f &position)
Convert an OpenXR position vector to the NDEVR coordinate system.
static Vector< 3, Angle< fltp08 > > ConvertFromQuaternion(fltp08 qx, fltp08 qy, fltp08 qz, fltp08 qw)
Convert quaternion components to Euler angles.
static Vector< 3, Angle< fltp08 > > ConvertFromQuaternion(const XrQuaternionf &quaternion)
Convert an OpenXR quaternion to Euler angles.
static Vertex< 3, fltp08 > ConvertVertex(fltp08 x, fltp08 y, fltp08 z)
Convert XYZ coordinates to the NDEVR coordinate system.
The primary namespace for the NDEVR SDK.
@ YAW
Rotation about the vertical axis (Z).
@ PITCH
Rotation about the lateral axis (Y).
@ ROLL
Rotation about the forward axis (X).
double fltp08
Defines an alias representing an 8 byte floating-point number.
@ DEGREES
Angle measured in degrees (0 to 360 for a full circle).