Macros | Typedefs | Functions
linmath.h File Reference
#include <math.h>
Include dependency graph for linmath.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LINMATH_H_DEFINE_VEC(n)
 
#define quat_norm   vec4_norm
 

Typedefs

typedef vec4 mat4x4[4]
 
typedef float quat[4]
 

Functions

static void mat4x4_add (mat4x4 M, mat4x4 a, mat4x4 b)
 
static void mat4x4_col (vec4 r, mat4x4 M, int i)
 
static void mat4x4_dup (mat4x4 M, mat4x4 N)
 
static void mat4x4_from_quat (mat4x4 M, quat q)
 
static void mat4x4_from_vec3_mul_outer (mat4x4 M, vec3 a, vec3 b)
 
static void mat4x4_frustum (mat4x4 M, float l, float r, float b, float t, float n, float f)
 
static void mat4x4_identity (mat4x4 M)
 
static void mat4x4_invert (mat4x4 T, mat4x4 M)
 
static void mat4x4_look_at (mat4x4 m, vec3 eye, vec3 center, vec3 up)
 
static void mat4x4_mul (mat4x4 M, mat4x4 a, mat4x4 b)
 
static void mat4x4_mul_vec4 (vec4 r, mat4x4 M, vec4 v)
 
static void mat4x4_ortho (mat4x4 M, float l, float r, float b, float t, float n, float f)
 
static void mat4x4_orthonormalize (mat4x4 R, mat4x4 M)
 
static void mat4x4_perspective (mat4x4 m, float y_fov, float aspect, float n, float f)
 
static void mat4x4_rotate (mat4x4 R, mat4x4 M, float x, float y, float z, float angle)
 
static void mat4x4_rotate_X (mat4x4 Q, mat4x4 M, float angle)
 
static void mat4x4_rotate_Y (mat4x4 Q, mat4x4 M, float angle)
 
static void mat4x4_rotate_Z (mat4x4 Q, mat4x4 M, float angle)
 
static void mat4x4_row (vec4 r, mat4x4 M, int i)
 
static void mat4x4_scale (mat4x4 M, mat4x4 a, float k)
 
static void mat4x4_scale_aniso (mat4x4 M, mat4x4 a, float x, float y, float z)
 
static void mat4x4_sub (mat4x4 M, mat4x4 a, mat4x4 b)
 
static void mat4x4_translate (mat4x4 T, float x, float y, float z)
 
static void mat4x4_translate_in_place (mat4x4 M, float x, float y, float z)
 
static void mat4x4_transpose (mat4x4 M, mat4x4 N)
 
static void mat4x4o_mul_quat (mat4x4 R, mat4x4 M, quat q)
 
static void quat_add (quat r, quat a, quat b)
 
static void quat_conj (quat r, quat q)
 
static void quat_from_mat4x4 (quat q, mat4x4 M)
 
static void quat_identity (quat q)
 
static float quat_inner_product (quat a, quat b)
 
static void quat_mul (quat r, quat p, quat q)
 
static void quat_mul_vec3 (vec3 r, quat q, vec3 v)
 
static void quat_rotate (quat r, float angle, vec3 axis)
 
static void quat_scale (quat r, quat v, float s)
 
static void quat_sub (quat r, quat a, quat b)
 
static void vec3_mul_cross (vec3 r, vec3 const a, vec3 const b)
 
static void vec3_reflect (vec3 r, vec3 const v, vec3 const n)
 
static void vec4_mul_cross (vec4 r, vec4 a, vec4 b)
 
static void vec4_reflect (vec4 r, vec4 v, vec4 n)
 

Macro Definition Documentation

#define LINMATH_H_DEFINE_VEC (   n)

Definition at line 10 of file linmath.h.

#define quat_norm   vec4_norm

Definition at line 483 of file linmath.h.

Typedef Documentation

typedef vec4 mat4x4[4]

Definition at line 83 of file linmath.h.

typedef float quat[4]

Definition at line 426 of file linmath.h.

Function Documentation

static void mat4x4_add ( mat4x4  M,
mat4x4  a,
mat4x4  b 
)
inlinestatic

Definition at line 117 of file linmath.h.

static void mat4x4_col ( vec4  r,
mat4x4  M,
int  i 
)
inlinestatic

Definition at line 104 of file linmath.h.

static void mat4x4_dup ( mat4x4  M,
mat4x4  N 
)
inlinestatic

Definition at line 91 of file linmath.h.

static void mat4x4_from_quat ( mat4x4  M,
quat  q 
)
inlinestatic

Definition at line 503 of file linmath.h.

static void mat4x4_from_vec3_mul_outer ( mat4x4  M,
vec3  a,
vec3  b 
)
inlinestatic

Definition at line 182 of file linmath.h.

static void mat4x4_frustum ( mat4x4  M,
float  l,
float  r,
float  b,
float  t,
float  n,
float  f 
)
inlinestatic

Definition at line 325 of file linmath.h.

static void mat4x4_identity ( mat4x4  M)
inlinestatic

Definition at line 84 of file linmath.h.

static void mat4x4_invert ( mat4x4  T,
mat4x4  M 
)
inlinestatic

Definition at line 259 of file linmath.h.

static void mat4x4_look_at ( mat4x4  m,
vec3  eye,
vec3  center,
vec3  up 
)
inlinestatic

Definition at line 383 of file linmath.h.

static void mat4x4_mul ( mat4x4  M,
mat4x4  a,
mat4x4  b 
)
inlinestatic

Definition at line 145 of file linmath.h.

static void mat4x4_mul_vec4 ( vec4  r,
mat4x4  M,
vec4  v 
)
inlinestatic

Definition at line 156 of file linmath.h.

static void mat4x4_ortho ( mat4x4  M,
float  l,
float  r,
float  b,
float  t,
float  n,
float  f 
)
inlinestatic

Definition at line 341 of file linmath.h.

static void mat4x4_orthonormalize ( mat4x4  R,
mat4x4  M 
)
inlinestatic

Definition at line 301 of file linmath.h.

static void mat4x4_perspective ( mat4x4  m,
float  y_fov,
float  aspect,
float  n,
float  f 
)
inlinestatic

Definition at line 357 of file linmath.h.

static void mat4x4_rotate ( mat4x4  R,
mat4x4  M,
float  x,
float  y,
float  z,
float  angle 
)
inlinestatic

Definition at line 188 of file linmath.h.

static void mat4x4_rotate_X ( mat4x4  Q,
mat4x4  M,
float  angle 
)
inlinestatic

Definition at line 223 of file linmath.h.

static void mat4x4_rotate_Y ( mat4x4  Q,
mat4x4  M,
float  angle 
)
inlinestatic

Definition at line 235 of file linmath.h.

static void mat4x4_rotate_Z ( mat4x4  Q,
mat4x4  M,
float  angle 
)
inlinestatic

Definition at line 247 of file linmath.h.

static void mat4x4_row ( vec4  r,
mat4x4  M,
int  i 
)
inlinestatic

Definition at line 98 of file linmath.h.

static void mat4x4_scale ( mat4x4  M,
mat4x4  a,
float  k 
)
inlinestatic

Definition at line 129 of file linmath.h.

static void mat4x4_scale_aniso ( mat4x4  M,
mat4x4  a,
float  x,
float  y,
float  z 
)
inlinestatic

Definition at line 135 of file linmath.h.

static void mat4x4_sub ( mat4x4  M,
mat4x4  a,
mat4x4  b 
)
inlinestatic

Definition at line 123 of file linmath.h.

static void mat4x4_translate ( mat4x4  T,
float  x,
float  y,
float  z 
)
inlinestatic

Definition at line 165 of file linmath.h.

static void mat4x4_translate_in_place ( mat4x4  M,
float  x,
float  y,
float  z 
)
inlinestatic

Definition at line 172 of file linmath.h.

static void mat4x4_transpose ( mat4x4  M,
mat4x4  N 
)
inlinestatic

Definition at line 110 of file linmath.h.

static void mat4x4o_mul_quat ( mat4x4  R,
mat4x4  M,
quat  q 
)
inlinestatic

Definition at line 533 of file linmath.h.

static void quat_add ( quat  r,
quat  a,
quat  b 
)
inlinestatic

Definition at line 432 of file linmath.h.

static void quat_conj ( quat  r,
quat  q 
)
inlinestatic

Definition at line 468 of file linmath.h.

static void quat_from_mat4x4 ( quat  q,
mat4x4  M 
)
inlinestatic

Definition at line 544 of file linmath.h.

static void quat_identity ( quat  q)
inlinestatic

Definition at line 427 of file linmath.h.

static float quat_inner_product ( quat  a,
quat  b 
)
inlinestatic

Definition at line 460 of file linmath.h.

static void quat_mul ( quat  r,
quat  p,
quat  q 
)
inlinestatic

Definition at line 444 of file linmath.h.

static void quat_mul_vec3 ( vec3  r,
quat  q,
vec3  v 
)
inlinestatic

Definition at line 484 of file linmath.h.

static void quat_rotate ( quat  r,
float  angle,
vec3  axis 
)
inlinestatic

Definition at line 475 of file linmath.h.

static void quat_scale ( quat  r,
quat  v,
float  s 
)
inlinestatic

Definition at line 454 of file linmath.h.

static void quat_sub ( quat  r,
quat  a,
quat  b 
)
inlinestatic

Definition at line 438 of file linmath.h.

static void vec3_mul_cross ( vec3  r,
vec3 const  a,
vec3 const  b 
)
inlinestatic

Definition at line 52 of file linmath.h.

static void vec3_reflect ( vec3  r,
vec3 const  v,
vec3 const  n 
)
inlinestatic

Definition at line 59 of file linmath.h.

static void vec4_mul_cross ( vec4  r,
vec4  a,
vec4  b 
)
inlinestatic

Definition at line 67 of file linmath.h.

static void vec4_reflect ( vec4  r,
vec4  v,
vec4  n 
)
inlinestatic

Definition at line 75 of file linmath.h.



librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:27