diff options
author | Justin Berger <j.david.berger@gmail.com> | 2018-04-01 07:29:19 -0600 |
---|---|---|
committer | Justin Berger <j.david.berger@gmail.com> | 2018-04-01 15:37:48 -0600 |
commit | 558429f4d01462edb606fe51d592e9f9e3889425 (patch) | |
tree | 64178fe671438928a47f9dd96570d5ff9c4c8f9f /redist | |
parent | 2a5a0bde0fa45f86b1fcfbfd50bb779f25337573 (diff) | |
download | libsurvive-558429f4d01462edb606fe51d592e9f9e3889425.tar.gz libsurvive-558429f4d01462edb606fe51d592e9f9e3889425.tar.bz2 |
Added distance function to linmath
Diffstat (limited to 'redist')
-rw-r--r-- | redist/linmath.c | 5 | ||||
-rw-r--r-- | redist/linmath.h | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/redist/linmath.c b/redist/linmath.c index c57410f..01ae2b0 100644 --- a/redist/linmath.c +++ b/redist/linmath.c @@ -63,6 +63,11 @@ void copy3d(FLT *out, const FLT *in) { } FLT magnitude3d(const FLT *a) { return FLT_SQRT(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]); } +FLT dist3d(const FLT *a, const FLT *b) { + LinmathPoint3d tmp; + sub3d(tmp, a, b); + return magnitude3d(tmp); +} FLT anglebetween3d(FLT *a, FLT *b) { FLT an[3]; diff --git a/redist/linmath.h b/redist/linmath.h index 71fd9b0..76e1322 100644 --- a/redist/linmath.h +++ b/redist/linmath.h @@ -6,7 +6,7 @@ #ifdef __cplusplus extern "C" { #endif - + // Yes, I know it's kind of arbitrary. #define DEFAULT_EPSILON 0.001 @@ -82,7 +82,7 @@ int compare3d(const FLT *a, const FLT *b, FLT epsilon); void copy3d(FLT *out, const FLT *in); FLT magnitude3d(const FLT *a); - +FLT dist3d(const FLT *a, const FLT *b); FLT anglebetween3d(FLT *a, FLT *b); void rotatearoundaxis(FLT *outvec3, FLT *invec3, FLT *axis, FLT angle); |