Monado OpenXR Runtime
|
Base implementations for math library. More...
#include "math/m_api.h"
#include "math/m_eigen_interop.hpp"
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <assert.h>
Enumerations | |
enum | accumulate_pose_flags { OFFSET, LEGACY } |
Functions | |
bool | math_vec3_validate (const struct xrt_vec3 *vec3) |
void | math_vec3_accum (const struct xrt_vec3 *additional, struct xrt_vec3 *inAndOut) |
void | math_vec3_cross (const struct xrt_vec3 *l, const struct xrt_vec3 *r, struct xrt_vec3 *result) |
void | math_quat_from_angle_vector (float angle_rads, const struct xrt_vec3 *vector, struct xrt_quat *result) |
void | math_quat_from_matrix_3x3 (const struct xrt_matrix_3x3 *mat, struct xrt_quat *result) |
void | math_quat_from_plus_x_z (const struct xrt_vec3 *plus_x, const struct xrt_vec3 *plus_z, struct xrt_quat *result) |
bool | math_quat_validate (const struct xrt_quat *quat) |
void | math_quat_normalize (struct xrt_quat *inout) |
void | math_quat_rotate (const struct xrt_quat *left, const struct xrt_quat *right, struct xrt_quat *result) |
void | math_quat_rotate_vec3 (const struct xrt_quat *left, const struct xrt_vec3 *right, struct xrt_vec3 *result) |
Rotate a vector. More... | |
void | math_matrix_3x3_transform_vec3 (const struct xrt_matrix_3x3 *left, const struct xrt_vec3 *right, struct xrt_vec3 *result) |
bool | math_pose_validate (const struct xrt_pose *pose) |
void | math_pose_invert (const struct xrt_pose *pose, struct xrt_pose *outPose) |
void | math_pose_transform (const struct xrt_pose *transform, const struct xrt_pose *pose, struct xrt_pose *outPose) |
void | math_pose_transform_point (const struct xrt_pose *transform, const struct xrt_vec3 *point, struct xrt_vec3 *out_point) |
void | math_pose_openxr_locate (const struct xrt_pose *space_pose, const struct xrt_pose *relative_pose, const struct xrt_pose *base_space_pose, struct xrt_pose *result) |
void | math_relation_reset (struct xrt_space_relation *out) |
void | math_relation_apply_offset (const struct xrt_pose *offset, struct xrt_space_relation *in_out_relation) |
void | accumulate_transform (const struct xrt_pose *transform, struct xrt_space_relation *in_out_relation) |
void | math_relation_accumulate_relation (const struct xrt_space_relation *additional_relation, struct xrt_space_relation *in_out_relation) |
void | math_relation_openxr_locate (const struct xrt_pose *space_pose, const struct xrt_space_relation *relative_relation, const struct xrt_pose *base_space_pose, struct xrt_space_relation *result) |
Base implementations for math library.