Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

nv_algebra.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  vec2
struct  vec3
struct  vec4
struct  mat3
struct  mat4
struct  quat

Functions

const vec2 operator+ (const vec2 &u, const vec2 &v)
const vec2 operator- (const vec2 &u, const vec2 &v)
const vec2 operator * (const nv_scalar s, const vec2 &u)
const vec2 operator/ (const vec2 &u, const nv_scalar s)
const vec2 operator * (const vec2 &u, const vec2 &v)
const vec3 operator+ (const vec3 &u, const vec3 &v)
const vec3 operator- (const vec3 &u, const vec3 &v)
const vec3 operator^ (const vec3 &u, const vec3 &v)
const vec3 operator * (const nv_scalar s, const vec3 &u)
const vec3 operator/ (const vec3 &u, const nv_scalar s)
const vec3 operator * (const vec3 &u, const vec3 &v)
const vec4 operator+ (const vec4 &u, const vec4 &v)
const vec4 operator- (const vec4 &u, const vec4 &v)
const vec4 operator * (const nv_scalar s, const vec4 &u)
const vec4 operator/ (const vec4 &u, const nv_scalar s)
const vec4 operator * (const vec4 &u, const vec4 &v)
const vec3 operator * (const mat3 &, const vec3 &)
const vec3 operator * (const vec3 &, const mat3 &)
const vec4 operator * (const mat4 &, const vec4 &)
const vec4 operator * (const vec4 &, const mat4 &)
const quat operator * (const quat &, const quat &)
quatconj (quat &p, const quat &q)
quatadd_quats (quat &p, const quat &q1, const quat &q2)
nv_scalar dot (const quat &p, const quat &q)
quatdot (nv_scalar s, const quat &p, const quat &q)
quatslerp_quats (quat &p, nv_scalar s, const quat &q1, const quat &q2)
quataxis_to_quat (quat &q, const vec3 &a, const nv_scalar phi)
mat3quat_2_mat (mat3 &M, const quat &q)
quatmat_2_quat (quat &q, const mat3 &M)
const vec3 vec3_neg_x (-nv_one, nv_zero, nv_zero)
const vec3 vec3_neg_y (nv_zero,-nv_one, nv_zero)
const vec3 vec3_neg_z (nv_zero, nv_zero,-nv_one)
const vec4 vec4_neg_x (-nv_one, nv_zero, nv_zero, nv_zero)
const vec4 vec4_neg_y (nv_zero,-nv_one, nv_zero, nv_zero)
const vec4 vec4_neg_z (nv_zero, nv_zero,-nv_one, nv_zero)
const vec4 vec4_neg_w (nv_zero, nv_zero, nv_zero,-nv_one)
vec3normalize (vec3 &u)
vec4normalize (vec4 &u)
nv_scalar nv_sq_norm (const vec3 &n)
nv_scalar nv_sq_norm (const vec4 &n)
nv_scalar nv_norm (const vec3 &n)
nv_scalar nv_norm (const vec4 &n)
vec3cross (vec3 &u, const vec3 &v, const vec3 &w)
nv_scalardot (nv_scalar &u, const vec3 &v, const vec3 &w)
nv_scalar dot (const vec3 &v, const vec3 &w)
nv_scalardot (nv_scalar &u, const vec4 &v, const vec4 &w)
nv_scalar dot (const vec4 &v, const vec4 &w)
nv_scalardot (nv_scalar &u, const vec3 &v, const vec4 &w)
nv_scalar dot (const vec3 &v, const vec4 &w)
nv_scalardot (nv_scalar &u, const vec4 &v, const vec3 &w)
nv_scalar dot (const vec4 &v, const vec3 &w)
vec3reflect (vec3 &r, const vec3 &n, const vec3 &l)
vec3madd (vec3 &u, const vec3 &v, const nv_scalar &lambda)
vec3mult (vec3 &u, const vec3 &v, const nv_scalar &lambda)
vec3mult (vec3 &u, const vec3 &v, const vec3 &w)
vec3add (vec3 &u, const vec3 &v, const vec3 &w)
vec3sub (vec3 &u, const vec3 &v, const vec3 &w)
vec3scale (vec3 &u, const nv_scalar s)
vec4scale (vec4 &u, const nv_scalar s)
vec3mult (vec3 &u, const mat3 &M, const vec3 &v)
vec4mult (vec4 &u, const mat4 &M, const vec4 &v)
vec3mult (vec3 &u, const vec3 &v, const mat3 &M)
vec4mult (vec4 &u, const vec4 &v, const mat4 &M)
vec3mult_pos (vec3 &u, const mat4 &M, const vec3 &v)
vec3mult_dir (vec3 &u, const mat4 &M, const vec3 &v)
vec3mult (vec3 &u, const mat4 &M, const vec3 &v)
vec3mult_pos (vec3 &u, const vec3 &v, const mat4 &M)
vec3mult_dir (vec3 &u, const vec3 &v, const mat4 &M)
vec3mult (vec3 &u, const vec3 &v, const mat4 &M)
mat4add (mat4 &A, const mat4 &B)
mat3add (mat3 &A, const mat3 &B)
mat4mult (mat4 &C, const mat4 &A, const mat4 &B)
mat3mult (mat3 &C, const mat3 &A, const mat3 &B)
mat3transpose (mat3 &B, const mat3 &A)
mat4transpose (mat4 &B, const mat4 &A)
mat3transpose (mat3 &B)
mat4transpose (mat4 &B)
mat4invert (mat4 &B, const mat4 &A)
mat3invert (mat3 &B, const mat3 &A)
mat4invert_rot_trans (mat4 &B, const mat4 &A)
mat4look_at (mat4 &M, const vec3 &eye, const vec3 &center, const vec3 &up)
mat4frustum (mat4 &M, const nv_scalar l, const nv_scalar r, const nv_scalar b, const nv_scalar t, const nv_scalar n, const nv_scalar f)
mat4perspective (mat4 &M, const nv_scalar fovy, const nv_scalar aspect, const nv_scalar n, const nv_scalar f)
quatnormalize (quat &p)
quatconj (quat &p)
quatmat_2_quat (quat &q, const mat4 &M)
mat3tangent_basis (mat3 &basis, const vec3 &v0, const vec3 &v1, const vec3 &v2, const vec2 &t0, const vec2 &t1, const vec2 &t2, const vec3 &n)
nv_scalar lerp (nv_scalar t, nv_scalar a, nv_scalar b)
vec3lerp (vec3 &w, const nv_scalar &t, const vec3 &u, const vec3 &v)
nv_scalar nv_min (const nv_scalar &lambda, const nv_scalar &n)
nv_scalar nv_max (const nv_scalar &lambda, const nv_scalar &n)
nv_scalar nv_clamp (nv_scalar u, const nv_scalar min, const nv_scalar max)
nv_scalar nv_random ()
quattrackball (quat &q, vec2 &pt1, vec2 &pt2, nv_scalar trackballsize)
vec3cube_map_normal (int i, int x, int y, int cubesize, vec3 &v)
nv_scalar nv_area (const vec3 &v1, const vec3 &v2, const vec3 &v3)
nv_scalar nv_perimeter (const vec3 &v1, const vec3 &v2, const vec3 &v3)
nv_scalar nv_find_in_circle (vec3 &center, const vec3 &v1, const vec3 &v2, const vec3 &v3)
nv_scalar nv_find_circ_circle (vec3 &center, const vec3 &v1, const vec3 &v2, const vec3 &v3)
nv_scalar fast_cos (const nv_scalar x)
nv_scalar ffast_cos (const nv_scalar x)
nv_scalar det (const mat3 &A)
void nv_is_valid (const vec3 &v)
void nv_is_valid (nv_scalar lambda)

Variables

const nv_scalar array16_id []
const nv_scalar array16_null []
const nv_scalar array16_scale_bias []
const nv_scalar array9_id []
const vec2 vec2_null (nv_zero, nv_zero)
const vec4 vec4_one (nv_one, nv_one, nv_one, nv_one)
const vec3 vec3_one (nv_one, nv_one, nv_one)
const vec3 vec3_null (nv_zero, nv_zero, nv_zero)
const vec3 vec3_x (nv_one, nv_zero, nv_zero)
const vec3 vec3_y (nv_zero, nv_one, nv_zero)
const vec3 vec3_z (nv_zero, nv_zero, nv_one)
const vec4 vec4_null (nv_zero, nv_zero, nv_zero, nv_zero)
const vec4 vec4_x (nv_one, nv_zero, nv_zero, nv_zero)
const vec4 vec4_y (nv_zero, nv_one, nv_zero, nv_zero)
const vec4 vec4_z (nv_zero, nv_zero, nv_one, nv_zero)
const vec4 vec4_w (nv_zero, nv_zero, nv_zero, nv_one)
const quat quat_id (nv_zero, nv_zero, nv_zero, nv_one)
const mat4 mat4_id (array16_id)
const mat3 mat3_id (array9_id)
const mat4 mat4_null (array16_null)
const mat4 mat4_scale_bias (array16_scale_bias)


Function Documentation

mat3& add mat3 A,
const mat3 B
 

Definition at line 326 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, and mat3::a22.

mat4& add mat4 A,
const mat4 B
 

Definition at line 305 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, and mat4::a33.

vec3& add vec3 u,
const vec3 v,
const vec3 w
 

Definition at line 145 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

quat& add_quats quat p,
const quat q1,
const quat q2
 

Definition at line 917 of file nv_algebra.cpp.

References quat::w, quat::x, quat::y, and quat::z.

quat& axis_to_quat quat q,
const vec3 a,
const nv_scalar  phi
 

Definition at line 887 of file nv_algebra.cpp.

References normalize(), nv_two, quat::w, quat::x, vec3::x, quat::y, vec3::y, quat::z, and vec3::z.

Referenced by trackball().

Here is the call graph for this function:

quat& conj quat p  ) 
 

Definition at line 900 of file nv_algebra.cpp.

References quat::x, quat::y, and quat::z.

quat& conj quat p,
const quat q
 

Definition at line 908 of file nv_algebra.cpp.

References quat::w, quat::x, quat::y, and quat::z.

vec3& cross vec3 u,
const vec3 v,
const vec3 w
 

Definition at line 52 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

Referenced by look_at(), nv_area(), mat3::set_rot(), mat4::set_rot(), tangent_basis(), and trackball().

vec3& cube_map_normal int  i,
int  x,
int  y,
int  cubesize,
vec3 v
 

Definition at line 1290 of file nv_algebra.cpp.

References normalize(), nv_one, nv_two, nv_zero_5, vec3::x, vec3::y, and vec3::z.

Here is the call graph for this function:

nv_scalar det const mat3 A  ) 
 

Definition at line 596 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, mat3::a22, and det3x3().

Referenced by invert().

Here is the call graph for this function:

nv_scalar dot const vec4 v,
const vec3 w
 

Definition at line 99 of file nv_algebra.cpp.

References vec3::x, vec4::x, vec3::y, vec4::y, vec3::z, and vec4::z.

nv_scalar& dot nv_scalar u,
const vec4 v,
const vec3 w
 

Definition at line 93 of file nv_algebra.cpp.

References vec3::x, vec4::x, vec3::y, vec4::y, vec3::z, and vec4::z.

nv_scalar dot const vec3 v,
const vec4 w
 

Definition at line 88 of file nv_algebra.cpp.

References vec4::x, vec3::x, vec4::y, vec3::y, vec4::z, and vec3::z.

nv_scalar& dot nv_scalar u,
const vec3 v,
const vec4 w
 

Definition at line 82 of file nv_algebra.cpp.

References vec4::x, vec3::x, vec4::y, vec3::y, vec4::z, and vec3::z.

nv_scalar dot const vec4 v,
const vec4 w
 

Definition at line 77 of file nv_algebra.cpp.

References vec4::w, vec4::x, vec4::y, and vec4::z.

nv_scalar& dot nv_scalar u,
const vec4 v,
const vec4 w
 

Definition at line 71 of file nv_algebra.cpp.

References vec4::w, vec4::x, vec4::y, and vec4::z.

nv_scalar dot const vec3 v,
const vec3 w
 

Definition at line 66 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

nv_scalar& dot nv_scalar u,
const vec3 v,
const vec3 w
 

Definition at line 60 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

quat& dot nv_scalar  s,
const quat p,
const quat q
 

nv_scalar dot const quat p,
const quat q
 

Definition at line 945 of file nv_algebra.cpp.

References quat::w, quat::x, quat::y, and quat::z.

nv_scalar fast_cos const nv_scalar  x  ) 
 

Definition at line 1439 of file nv_algebra.cpp.

References nv_one.

nv_scalar ffast_cos const nv_scalar  x  ) 
 

Definition at line 1423 of file nv_algebra.cpp.

References nv_one.

mat4& frustum mat4 M,
const nv_scalar  l,
const nv_scalar  r,
const nv_scalar  b,
const nv_scalar  t,
const nv_scalar  n,
const nv_scalar  f
 

Definition at line 696 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, nv_one, and nv_two.

Referenced by perspective(), and kerosin::RenderServer::Render().

mat3& invert mat3 B,
const mat3 A
 

Definition at line 603 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, mat3::a22, det(), and nv_one.

Here is the call graph for this function:

mat4& invert mat4 B,
const mat4 A
 

Definition at line 524 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, det(), det3x3(), and nv_one.

Here is the call graph for this function:

mat4& invert_rot_trans mat4 B,
const mat4 A
 

Definition at line 575 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, and mat4::a33.

vec3& lerp vec3 w,
const nv_scalar t,
const vec3 u,
const vec3 v
[inline]
 

Definition at line 697 of file nv_algebra.h.

References lerp(), vec3::x, vec3::y, and vec3::z.

Here is the call graph for this function:

nv_scalar lerp nv_scalar  t,
nv_scalar  a,
nv_scalar  b
[inline]
 

Definition at line 694 of file nv_algebra.h.

References nv_one.

Referenced by lerp().

mat4& look_at mat4 M,
const vec3 eye,
const vec3 center,
const vec3 up
 

Definition at line 661 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, cross(), normalize(), nv_one, nv_zero, vec3::x, vec3::y, and vec3::z.

Here is the call graph for this function:

vec3& madd vec3 u,
const vec3 v,
const nv_scalar lambda
 

Definition at line 113 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

Referenced by nv_find_circ_circle(), nv_find_in_circle(), and reflect().

quat& mat_2_quat quat q,
const mat4 M
 

Definition at line 876 of file nv_algebra.cpp.

References quat::FromMatrix(), and mat4::get_rot().

Here is the call graph for this function:

quat& mat_2_quat quat q,
const mat3 M
 

Definition at line 870 of file nv_algebra.cpp.

References quat::FromMatrix().

Here is the call graph for this function:

mat3& mult mat3 C,
const mat3 A,
const mat3 B
 

Definition at line 401 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, and mat3::a22.

mat4& mult mat4 C,
const mat4 A,
const mat4 B
 

Definition at line 350 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, and mat4::a33.

vec3& mult vec3 u,
const vec3 v,
const mat4 M
 

Definition at line 297 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a10, mat4::a11, mat4::a12, mat4::a20, mat4::a21, mat4::a22, mat4::a30, mat4::a31, mat4::a32, vec3::x, vec3::y, and vec3::z.

vec3& mult vec3 u,
const mat4 M,
const vec3 v
 

Definition at line 289 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, vec3::x, vec3::y, and vec3::z.

vec4& mult vec4 u,
const vec4 v,
const mat4 M
 

Definition at line 226 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, vec4::w, vec4::x, vec4::y, and vec4::z.

vec3& mult vec3 u,
const vec3 v,
const mat3 M
 

Definition at line 191 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, mat3::a22, vec3::x, vec3::y, and vec3::z.

vec4& mult vec4 u,
const mat4 M,
const vec4 v
 

Definition at line 217 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, vec4::w, vec4::x, vec4::y, and vec4::z.

vec3& mult vec3 u,
const mat3 M,
const vec3 v
 

Definition at line 183 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, mat3::a22, vec3::x, vec3::y, and vec3::z.

vec3& mult vec3 u,
const vec3 v,
const vec3 w
 

Definition at line 129 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

vec3& mult vec3 u,
const vec3 v,
const nv_scalar lambda
 

Definition at line 121 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

vec3& mult_dir vec3 u,
const vec3 v,
const mat4 M
 

Definition at line 281 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a10, mat4::a11, mat4::a12, mat4::a20, mat4::a21, mat4::a22, vec3::x, vec3::y, and vec3::z.

vec3& mult_dir vec3 u,
const mat4 M,
const vec3 v
 

Definition at line 273 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a10, mat4::a11, mat4::a12, mat4::a20, mat4::a21, mat4::a22, vec3::x, vec3::y, and vec3::z.

vec3& mult_pos vec3 u,
const vec3 v,
const mat4 M
 

Definition at line 264 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, nv_one, vec3::x, vec3::y, and vec3::z.

vec3& mult_pos vec3 u,
const mat4 M,
const vec3 v
 

Definition at line 255 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, nv_one, vec3::x, vec3::y, and vec3::z.

quat& normalize quat p  ) 
 

Definition at line 647 of file nv_algebra.cpp.

References nv_eps, nv_one, nv_zero, quat::w, quat::x, quat::y, and quat::z.

vec4& normalize vec4 u  ) 
 

Definition at line 637 of file nv_algebra.cpp.

References nv_eps, nv_one, nv_zero, scale(), vec4::w, vec4::x, vec4::y, and vec4::z.

Here is the call graph for this function:

vec3& normalize vec3 u  ) 
 

Definition at line 627 of file nv_algebra.cpp.

References nv_eps, nv_one, nv_zero, scale(), vec3::x, vec3::y, and vec3::z.

Here is the call graph for this function:

nv_scalar nv_area const vec3 v1,
const vec3 v2,
const vec3 v3
 

Definition at line 1336 of file nv_algebra.cpp.

References cross(), nv_norm(), and nv_zero_5.

Referenced by nv_find_in_circle().

Here is the call graph for this function:

nv_scalar nv_clamp nv_scalar  u,
const nv_scalar  min,
const nv_scalar  max
[inline]
 

Definition at line 707 of file nv_algebra.h.

nv_scalar nv_find_circ_circle vec3 center,
const vec3 v1,
const vec3 v2,
const vec3 v3
 

Definition at line 1391 of file nv_algebra.cpp.

References dot(), madd(), mult(), nv_one, nv_zero_5, and sub().

Here is the call graph for this function:

nv_scalar nv_find_in_circle vec3 center,
const vec3 v1,
const vec3 v2,
const vec3 v3
 

Definition at line 1361 of file nv_algebra.cpp.

References madd(), mult(), nv_area(), nv_eps, nv_norm(), nv_one, nv_perimeter(), nv_two, nv_zero, and sub().

Here is the call graph for this function:

void nv_is_valid nv_scalar  lambda  ) 
 

Definition at line 1466 of file nv_algebra.cpp.

References _finite, and _isnan.

void nv_is_valid const vec3 v  ) 
 

Definition at line 1460 of file nv_algebra.cpp.

References _finite, _isnan, vec3::x, vec3::y, and vec3::z.

nv_scalar nv_max const nv_scalar lambda,
const nv_scalar n
[inline]
 

Definition at line 704 of file nv_algebra.h.

Referenced by NVMeshMender::Munge().

nv_scalar nv_min const nv_scalar lambda,
const nv_scalar n
[inline]
 

Definition at line 701 of file nv_algebra.h.

Referenced by NVMeshMender::Munge().

nv_scalar nv_norm const vec4 n  )  [inline]
 

Definition at line 578 of file nv_algebra.h.

References nv_sq_norm().

Here is the call graph for this function:

nv_scalar nv_norm const vec3 n  )  [inline]
 

Definition at line 575 of file nv_algebra.h.

References nv_sq_norm().

Referenced by nv_area(), nv_find_in_circle(), and nv_perimeter().

Here is the call graph for this function:

nv_scalar nv_perimeter const vec3 v1,
const vec3 v2,
const vec3 v3
 

Definition at line 1347 of file nv_algebra.cpp.

References nv_norm(), and sub().

Referenced by nv_find_in_circle().

Here is the call graph for this function:

nv_scalar nv_random  ) 
 

Definition at line 979 of file nv_algebra.cpp.

References HALF_RAND.

nv_scalar nv_sq_norm const vec4 n  )  [inline]
 

Definition at line 571 of file nv_algebra.h.

References vec4::w, vec4::x, vec4::y, and vec4::z.

nv_scalar nv_sq_norm const vec3 n  )  [inline]
 

Definition at line 568 of file nv_algebra.h.

References vec3::x, vec3::y, and vec3::z.

Referenced by nv_norm().

const quat operator * const quat ,
const quat
 

Definition at line 848 of file nv_algebra.cpp.

References quat::w, quat::x, quat::y, and quat::z.

const vec4 operator * const vec4 ,
const mat4
 

Definition at line 245 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, vec4::w, vec4::x, vec4::y, and vec4::z.

const vec4 operator * const mat4 ,
const vec4
 

Definition at line 235 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, mat4::a33, vec4::w, vec4::x, vec4::y, and vec4::z.

const vec3 operator * const vec3 ,
const mat3
 

Definition at line 208 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, mat3::a22, vec3::x, vec3::y, and vec3::z.

const vec3 operator * const mat3 ,
const vec3
 

Definition at line 199 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, mat3::a22, vec3::x, vec3::y, and vec3::z.

const vec4 operator * const vec4 u,
const vec4 v
[inline]
 

Definition at line 305 of file nv_algebra.h.

References vec4::w, vec4::x, vec4::y, and vec4::z.

const vec4 operator * const nv_scalar  s,
const vec4 u
[inline]
 

Definition at line 295 of file nv_algebra.h.

References vec4::w, vec4::x, vec4::y, and vec4::z.

const vec3 operator * const vec3 u,
const vec3 v
[inline]
 

Definition at line 201 of file nv_algebra.h.

References vec3::x, vec3::y, and vec3::z.

const vec3 operator * const nv_scalar  s,
const vec3 u
[inline]
 

Definition at line 191 of file nv_algebra.h.

References vec3::x, vec3::y, and vec3::z.

const vec2 operator * const vec2 u,
const vec2 v
[inline]
 

Definition at line 99 of file nv_algebra.h.

References vec2::x, and vec2::y.

const vec2 operator * const nv_scalar  s,
const vec2 u
[inline]
 

Definition at line 89 of file nv_algebra.h.

References vec2::x, and vec2::y.

const vec4 operator+ const vec4 u,
const vec4 v
[inline]
 

Definition at line 285 of file nv_algebra.h.

References vec4::w, vec4::x, vec4::y, and vec4::z.

const vec3 operator+ const vec3 u,
const vec3 v
[inline]
 

Definition at line 176 of file nv_algebra.h.

References vec3::x, vec3::y, and vec3::z.

const vec2 operator+ const vec2 u,
const vec2 v
[inline]
 

Definition at line 79 of file nv_algebra.h.

References vec2::x, and vec2::y.

const vec4 operator- const vec4 u,
const vec4 v
[inline]
 

Definition at line 290 of file nv_algebra.h.

References vec4::w, vec4::x, vec4::y, and vec4::z.

const vec3 operator- const vec3 u,
const vec3 v
[inline]
 

Definition at line 181 of file nv_algebra.h.

References vec3::x, vec3::y, and vec3::z.

const vec2 operator- const vec2 u,
const vec2 v
[inline]
 

Definition at line 84 of file nv_algebra.h.

References vec2::x, and vec2::y.

const vec4 operator/ const vec4 u,
const nv_scalar  s
[inline]
 

Definition at line 300 of file nv_algebra.h.

References vec4::w, vec4::x, vec4::y, and vec4::z.

const vec3 operator/ const vec3 u,
const nv_scalar  s
[inline]
 

Definition at line 196 of file nv_algebra.h.

References vec3::x, vec3::y, and vec3::z.

const vec2 operator/ const vec2 u,
const nv_scalar  s
[inline]
 

Definition at line 94 of file nv_algebra.h.

References vec2::x, and vec2::y.

const vec3 operator^ const vec3 u,
const vec3 v
[inline]
 

Definition at line 186 of file nv_algebra.h.

References vec3::x, vec3::y, and vec3::z.

mat4& perspective mat4 M,
const nv_scalar  fovy,
const nv_scalar  aspect,
const nv_scalar  n,
const nv_scalar  f
 

Definition at line 721 of file nv_algebra.cpp.

References frustum(), nv_to_rad, and nv_zero_5.

Here is the call graph for this function:

mat3& quat_2_mat mat3 M,
const quat q
 

Definition at line 864 of file nv_algebra.cpp.

References quat::ToMatrix().

Here is the call graph for this function:

vec3& reflect vec3 r,
const vec3 n,
const vec3 l
 

Definition at line 104 of file nv_algebra.cpp.

References dot(), madd(), mult(), nv_one, and nv_two.

Here is the call graph for this function:

vec4& scale vec4 u,
const nv_scalar  s
 

Definition at line 174 of file nv_algebra.cpp.

References vec4::w, vec4::x, vec4::y, and vec4::z.

vec3& scale vec3 u,
const nv_scalar  s
 

Definition at line 166 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

quat& slerp_quats quat p,
nv_scalar  s,
const quat q1,
const quat q2
 

Definition at line 954 of file nv_algebra.cpp.

References acosf, dot(), nv_eps, quat::w, quat::x, quat::y, and quat::z.

Here is the call graph for this function:

vec3& sub vec3 u,
const vec3 v,
const vec3 w
 

Definition at line 137 of file nv_algebra.cpp.

References vec3::x, vec3::y, and vec3::z.

Referenced by nv_find_circ_circle(), nv_find_in_circle(), and nv_perimeter().

mat3& tangent_basis mat3 basis,
const vec3 v0,
const vec3 v1,
const vec3 v2,
const vec2 t0,
const vec2 t1,
const vec2 t2,
const vec3 n
 

Definition at line 1149 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, mat3::a22, cross(), nv_eps, nv_one, nv_zero, vec2::s, vec2::t, vec3::x, vec3::y, and vec3::z.

Here is the call graph for this function:

quat& trackball quat q,
vec2 pt1,
vec2 pt2,
nv_scalar  trackballsize
 

Definition at line 1251 of file nv_algebra.cpp.

References axis_to_quat(), cross(), nv_one, nv_two, quat_id, tb_project_to_sphere(), vec3::x, vec2::x, vec3::y, vec2::y, and vec3::z.

Here is the call graph for this function:

mat4& transpose mat4 B  ) 
 

Definition at line 433 of file nv_algebra.cpp.

References mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a23, mat4::a30, mat4::a31, and mat4::a32.

mat3& transpose mat3 B  ) 
 

Definition at line 416 of file nv_algebra.cpp.

References mat3::a01, mat3::a02, mat3::a10, mat3::a12, mat3::a20, and mat3::a21.

mat4& transpose mat4 B,
const mat4 A
 

Definition at line 462 of file nv_algebra.cpp.

References mat4::a00, mat4::a01, mat4::a02, mat4::a03, mat4::a10, mat4::a11, mat4::a12, mat4::a13, mat4::a20, mat4::a21, mat4::a22, mat4::a23, mat4::a30, mat4::a31, mat4::a32, and mat4::a33.

mat3& transpose mat3 B,
const mat3 A
 

Definition at line 483 of file nv_algebra.cpp.

References mat3::a00, mat3::a01, mat3::a02, mat3::a10, mat3::a11, mat3::a12, mat3::a20, mat3::a21, and mat3::a22.

const vec3 vec3_neg_x nv_one,
nv_zero  ,
nv_zero 
 

const vec3 vec3_neg_y nv_zero  ,
nv_one,
nv_zero 
 

const vec3 vec3_neg_z nv_zero  ,
nv_zero  ,
nv_one
 

const vec4 vec4_neg_w nv_zero  ,
nv_zero  ,
nv_zero  ,
nv_one
 

const vec4 vec4_neg_x nv_one,
nv_zero  ,
nv_zero  ,
nv_zero 
 

const vec4 vec4_neg_y nv_zero  ,
nv_one,
nv_zero  ,
nv_zero 
 

const vec4 vec4_neg_z nv_zero  ,
nv_zero  ,
nv_one,
nv_zero 
 


Variable Documentation

const nv_scalar array16_id[]
 

Initial value:

        { nv_one, nv_zero, nv_zero, nv_zero,
                                        nv_zero, nv_one, nv_zero, nv_zero,
                                        nv_zero, nv_zero, nv_one, nv_zero,
                                        nv_zero, nv_zero, nv_zero, nv_one}

Definition at line 518 of file nv_algebra.h.

const nv_scalar array16_null[]
 

Initial value:

      { nv_zero, nv_zero, nv_zero, nv_zero,
                                        nv_zero, nv_zero, nv_zero, nv_zero,
                                        nv_zero, nv_zero, nv_zero, nv_zero,
                                        nv_zero, nv_zero, nv_zero, nv_zero}

Definition at line 523 of file nv_algebra.h.

const nv_scalar array16_scale_bias[]
 

Initial value:

 { nv_zero_5, nv_zero,   nv_zero,   nv_zero,
                                         nv_zero,   nv_zero_5, nv_zero,   nv_zero,
                                         nv_zero,   nv_zero,   nv_zero_5, nv_zero,
                                         nv_zero_5, nv_zero_5, nv_zero_5, nv_one}

Definition at line 528 of file nv_algebra.h.

const nv_scalar array9_id[]
 

Initial value:

         { nv_one, nv_zero, nv_zero,
                                        nv_zero, nv_one, nv_zero,
                                        nv_zero, nv_zero, nv_one}

Definition at line 533 of file nv_algebra.h.

const mat3 mat3_id(array9_id)
 

const mat4 mat4_id(array16_id)
 

const mat4 mat4_null(array16_null)
 

const mat4 mat4_scale_bias(array16_scale_bias)
 

const quat quat_id(nv_zero, nv_zero, nv_zero, nv_one)
 

Referenced by trackball().

const vec2 vec2_null(nv_zero, nv_zero)
 

const vec3 vec3_null(nv_zero, nv_zero, nv_zero)
 

Referenced by NVMeshMender::Munge().

const vec3 vec3_one(nv_one, nv_one, nv_one)
 

const vec3 vec3_x(nv_one, nv_zero, nv_zero)
 

const vec3 vec3_y(nv_zero, nv_one, nv_zero)
 

const vec3 vec3_z(nv_zero, nv_zero, nv_one)
 

const vec4 vec4_null(nv_zero, nv_zero, nv_zero, nv_zero)
 

const vec4 vec4_one(nv_one, nv_one, nv_one, nv_one)
 

const vec4 vec4_w(nv_zero, nv_zero, nv_zero, nv_one)
 

const vec4 vec4_x(nv_one, nv_zero, nv_zero, nv_zero)
 

const vec4 vec4_y(nv_zero, nv_one, nv_zero, nv_zero)
 

const vec4 vec4_z(nv_zero, nv_zero, nv_one, nv_zero)
 


Generated on Thu Apr 6 15:32:25 2006 for rcssserver3d by  doxygen 1.4.4