#include <nv_math/nv_math.h>
Include dependency graph for nv_algebra.cpp:
Go to the source code of this file.
Defines | |
#define | _isnan isnan |
#define | _finite finite |
#define | acosf acos |
Functions | |
vec3 & | cross (vec3 &u, const vec3 &v, const vec3 &w) |
nv_scalar & | dot (nv_scalar &u, const vec3 &v, const vec3 &w) |
nv_scalar | dot (const vec3 &v, const vec3 &w) |
nv_scalar & | dot (nv_scalar &u, const vec4 &v, const vec4 &w) |
nv_scalar | dot (const vec4 &v, const vec4 &w) |
nv_scalar & | dot (nv_scalar &u, const vec3 &v, const vec4 &w) |
nv_scalar | dot (const vec3 &v, const vec4 &w) |
nv_scalar & | dot (nv_scalar &u, const vec4 &v, const vec3 &w) |
nv_scalar | dot (const vec4 &v, const vec3 &w) |
vec3 & | reflect (vec3 &r, const vec3 &n, const vec3 &l) |
vec3 & | madd (vec3 &u, const vec3 &v, const nv_scalar &lambda) |
vec3 & | mult (vec3 &u, const vec3 &v, const nv_scalar &lambda) |
vec3 & | mult (vec3 &u, const vec3 &v, const vec3 &w) |
vec3 & | sub (vec3 &u, const vec3 &v, const vec3 &w) |
vec3 & | add (vec3 &u, const vec3 &v, const vec3 &w) |
vec3 & | scale (vec3 &u, const nv_scalar s) |
vec4 & | scale (vec4 &u, const nv_scalar s) |
vec3 & | mult (vec3 &u, const mat3 &M, const vec3 &v) |
vec3 & | mult (vec3 &u, const vec3 &v, const mat3 &M) |
const vec3 | operator * (const mat3 &M, const vec3 &v) |
const vec3 | operator * (const vec3 &v, const mat3 &M) |
vec4 & | mult (vec4 &u, const mat4 &M, const vec4 &v) |
vec4 & | mult (vec4 &u, const vec4 &v, const mat4 &M) |
const vec4 | operator * (const mat4 &M, const vec4 &v) |
const vec4 | operator * (const vec4 &v, const mat4 &M) |
vec3 & | mult_pos (vec3 &u, const mat4 &M, const vec3 &v) |
vec3 & | mult_pos (vec3 &u, const vec3 &v, const mat4 &M) |
vec3 & | mult_dir (vec3 &u, const mat4 &M, const vec3 &v) |
vec3 & | mult_dir (vec3 &u, const vec3 &v, const mat4 &M) |
vec3 & | mult (vec3 &u, const mat4 &M, const vec3 &v) |
vec3 & | mult (vec3 &u, const vec3 &v, const mat4 &M) |
mat4 & | add (mat4 &A, const mat4 &B) |
mat3 & | add (mat3 &A, const mat3 &B) |
mat4 & | mult (mat4 &C, const mat4 &A, const mat4 &B) |
mat3 & | mult (mat3 &C, const mat3 &A, const mat3 &B) |
mat3 & | transpose (mat3 &A) |
mat4 & | transpose (mat4 &A) |
mat4 & | transpose (mat4 &B, const mat4 &A) |
mat3 & | transpose (mat3 &B, const mat3 &A) |
nv_scalar | det2x2 (nv_scalar a1, nv_scalar a2, nv_scalar b1, nv_scalar b2) |
nv_scalar | det3x3 (nv_scalar a1, nv_scalar a2, nv_scalar a3, nv_scalar b1, nv_scalar b2, nv_scalar b3, nv_scalar c1, nv_scalar c2, nv_scalar c3) |
mat4 & | invert (mat4 &B, const mat4 &A) |
mat4 & | invert_rot_trans (mat4 &B, const mat4 &A) |
nv_scalar | det (const mat3 &A) |
mat3 & | invert (mat3 &B, const mat3 &A) |
vec3 & | normalize (vec3 &u) |
vec4 & | normalize (vec4 &u) |
quat & | normalize (quat &p) |
mat4 & | look_at (mat4 &M, const vec3 &eye, const vec3 ¢er, const vec3 &up) |
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) |
mat4 & | perspective (mat4 &M, const nv_scalar fovy, const nv_scalar aspect, const nv_scalar n, const nv_scalar f) |
const quat | operator * (const quat &p, const quat &q) |
mat3 & | quat_2_mat (mat3 &M, const quat &q) |
quat & | mat_2_quat (quat &q, const mat3 &M) |
quat & | mat_2_quat (quat &q, const mat4 &M) |
quat & | axis_to_quat (quat &q, const vec3 &a, const nv_scalar phi) |
quat & | conj (quat &p) |
quat & | conj (quat &p, const quat &q) |
quat & | add_quats (quat &p, const quat &q1, const quat &q2) |
nv_scalar & | dot (nv_scalar &s, const quat &q1, const quat &q2) |
nv_scalar | dot (const quat &q1, const quat &q2) |
quat & | slerp_quats (quat &p, nv_scalar s, const quat &q1, const quat &q2) |
nv_scalar | nv_random () |
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) |
nv_scalar | tb_project_to_sphere (nv_scalar r, nv_scalar x, nv_scalar y) |
quat & | trackball (quat &q, vec2 &pt1, vec2 &pt2, nv_scalar trackballsize) |
vec3 & | cube_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 ¢er, const vec3 &v1, const vec3 &v2, const vec3 &v3) |
nv_scalar | nv_find_circ_circle (vec3 ¢er, const vec3 &v1, const vec3 &v2, const vec3 &v3) |
nv_scalar | ffast_cos (const nv_scalar x) |
nv_scalar | fast_cos (const nv_scalar x) |
void | nv_is_valid (const vec3 &v) |
void | nv_is_valid (nv_scalar lambda) |
Variables | |
const int | HALF_RAND = (RAND_MAX / 2) |
|
Definition at line 21 of file nv_algebra.cpp. Referenced by nv_is_valid(). |
|
Definition at line 20 of file nv_algebra.cpp. Referenced by nv_is_valid(). |
|
Definition at line 951 of file nv_algebra.cpp. Referenced by slerp_quats(). |
|
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. |
|
Definition at line 305 of file nv_algebra.cpp. |
|
Definition at line 145 of file nv_algebra.cpp. |
|
Definition at line 917 of file nv_algebra.cpp. |
|
Definition at line 887 of file nv_algebra.cpp. References normalize(), nv_two, quat::w, vec3::x, quat::x, vec3::y, quat::y, vec3::z, and quat::z. Referenced by trackball(). Here is the call graph for this function: ![]() |
|
Definition at line 908 of file nv_algebra.cpp. |
|
Definition at line 900 of file nv_algebra.cpp. |
|
Definition at line 52 of file nv_algebra.cpp. References vec3::x, vec3::y, and vec3::z. Referenced by look_at(), nv_area(), mat4::set_rot(), mat3::set_rot(), tangent_basis(), and trackball(). |
|
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: ![]() |
|
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: ![]() |
|
Definition at line 504 of file nv_algebra.cpp. Referenced by det3x3(). |
|
Definition at line 517 of file nv_algebra.cpp. References det2x2(). Referenced by det(), and invert(). Here is the call graph for this function: ![]() |
|
Definition at line 945 of file nv_algebra.cpp. |
|
Definition at line 939 of file nv_algebra.cpp. |
|
Definition at line 99 of file nv_algebra.cpp. |
|
Definition at line 93 of file nv_algebra.cpp. |
|
Definition at line 88 of file nv_algebra.cpp. |
|
Definition at line 82 of file nv_algebra.cpp. |
|
Definition at line 77 of file nv_algebra.cpp. |
|
Definition at line 71 of file nv_algebra.cpp. |
|
Definition at line 66 of file nv_algebra.cpp. |
|
Definition at line 60 of file nv_algebra.cpp. Referenced by NVMeshMender::Munge(), nv_find_circ_circle(), reflect(), mat4::set_rot(), mat3::set_rot(), and slerp_quats(). |
|
Definition at line 1439 of file nv_algebra.cpp. References nv_one. |
|
Definition at line 1423 of file nv_algebra.cpp. References nv_one. |
|
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(). |
|
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: ![]() |
|
Definition at line 524 of file nv_algebra.cpp. |
|
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. |
|
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: ![]() |
|
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(). |
|
Definition at line 876 of file nv_algebra.cpp. References quat::FromMatrix(), and mat4::get_rot(). Here is the call graph for this function: ![]() |
|
Definition at line 870 of file nv_algebra.cpp. |
|
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. |
|
Definition at line 350 of file nv_algebra.cpp. |
|
Definition at line 297 of file nv_algebra.cpp. |
|
Definition at line 289 of file nv_algebra.cpp. |
|
Definition at line 226 of file nv_algebra.cpp. |
|
Definition at line 217 of file nv_algebra.cpp. |
|
Definition at line 191 of file nv_algebra.cpp. |
|
Definition at line 183 of file nv_algebra.cpp. |
|
Definition at line 129 of file nv_algebra.cpp. |
|
Definition at line 121 of file nv_algebra.cpp. Referenced by nv_find_circ_circle(), nv_find_in_circle(), and reflect(). |
|
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. |
|
Definition at line 273 of file nv_algebra.cpp. |
|
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. |
|
Definition at line 255 of file nv_algebra.cpp. |
|
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. |
|
Definition at line 637 of file nv_algebra.cpp. |
|
Definition at line 627 of file nv_algebra.cpp. Referenced by axis_to_quat(), cube_map_normal(), look_at(), and NVMeshMender::Munge(). |
|
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: ![]() |
|
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: ![]() |
|
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: ![]() |
|
Definition at line 1466 of file nv_algebra.cpp. |
|
Definition at line 1460 of file nv_algebra.cpp. |
|
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: ![]() |
|
Definition at line 979 of file nv_algebra.cpp. References HALF_RAND. |
|
Definition at line 848 of file nv_algebra.cpp. |
|
Definition at line 245 of file nv_algebra.cpp. |
|
Definition at line 235 of file nv_algebra.cpp. |
|
Definition at line 208 of file nv_algebra.cpp. |
|
Definition at line 199 of file nv_algebra.cpp. |
|
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: ![]() |
|
Definition at line 864 of file nv_algebra.cpp. References quat::ToMatrix(). Here is the call graph for this function: ![]() |
|
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: ![]() |
|
Definition at line 174 of file nv_algebra.cpp. |
|
Definition at line 166 of file nv_algebra.cpp. Referenced by salt::Matrix::CalcSpotLight(), quat::FromMatrix(), normalize(), and quat::quat(). |
|
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: ![]() |
|
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(). |
|
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: ![]() |
|
Definition at line 1225 of file nv_algebra.cpp. Referenced by trackball(). |
|
Definition at line 1251 of file nv_algebra.cpp. References axis_to_quat(), cross(), nv_one, nv_two, quat_id, tb_project_to_sphere(), vec2::x, vec3::x, vec2::y, vec3::y, and vec3::z. Here is the call graph for this function: ![]() |
|
Definition at line 483 of file nv_algebra.cpp. |
|
Definition at line 462 of file nv_algebra.cpp. |
|
Definition at line 433 of file nv_algebra.cpp. |
|
Definition at line 416 of file nv_algebra.cpp. |
|
Definition at line 977 of file nv_algebra.cpp. Referenced by nv_random(). |