Revision: 55892
          http://sourceforge.net/p/brlcad/code/55892
Author:   carlmoore
Date:     2013-06-28 15:45:54 +0000 (Fri, 28 Jun 2013)
Log Message:
-----------
remove trailing blanks/tabs

Modified Paths:
--------------
    brlcad/trunk/CMakeLists.txt
    brlcad/trunk/ChangeLog

Modified: brlcad/trunk/CMakeLists.txt
===================================================================
--- brlcad/trunk/CMakeLists.txt 2013-06-28 15:22:22 UTC (rev 55891)
+++ brlcad/trunk/CMakeLists.txt 2013-06-28 15:45:54 UTC (rev 55892)
@@ -521,7 +521,7 @@
   endif(UMASK_HAVE_R AND "${umask_x}" STREQUAL "xxx")
 endmacro(CHECK_UMASK)
 # Note - umask is not always an executable, so we can't use find_program
-# to determine whether the umask check is appropriate.  
+# to determine whether the umask check is appropriate.
 IF(NOT WIN32)
   exec_program(umask ARGS -S OUTPUT_VARIABLE umask_curr)
   string(STRIP "${umask_curr}" umask_curr)

Modified: brlcad/trunk/ChangeLog
===================================================================
--- brlcad/trunk/ChangeLog      2013-06-28 15:22:22 UTC (rev 55891)
+++ brlcad/trunk/ChangeLog      2013-06-28 15:45:54 UTC (rev 55892)
@@ -5091,7 +5091,7 @@
          having changed. tracing back through the commit history, it looks
          like this however was entirely unintentional (i.e., it was a bug)
          that was documented here instead of getting fixed.
-         
+
          what had happened: circa 1985 (r373) 'in' command directly
          implemented rpp (matching arb8), circa 1987 (r1518) wdb rpp
          routine added (with "natural origin" but not matching arb8),
@@ -5100,7 +5100,7 @@
          routine finally fixed to match arb8, and now the doc finally gets
          fixed to match. so there ya have it, took three devs scratching
          heads for a day to figure this all out.
-         
+
          left a note on how to verify the right values ('l' command so as
          to not rely on graphical inspection) and the old command so the
          docs will still work with older releases.
@@ -19025,31 +19025,31 @@
          * { register double _f; stuff; }
          *
          */
-         
+
          #ifndef __VMATH_H__
          #define __VMATH_H__
-         
+
          #include "common.h"
-         
+
          /* for sqrt(), sin(), cos(), rint(), etc. */
          #ifdef WIN32
          # define _USE_MATH_DEFINES
          #endif
          #include <math.h>
-         
+
          /* for floating point tolerances and other math constants */
          #include <float.h>
-         
+
          /* for fastf_t */
          #include "bu.h"
-         
-         
+
+
          __BEGIN_DECLS
-         
+
          #ifndef M_
          # define M_ XXX /**< */
          #endif
-         
+
          #ifndef M_1_PI
          # define M_1_PI 0.31830988618379067153776752675 /**< 1/pi */
          #endif
@@ -19106,15 +19106,15 @@
          # define M_SQRTPI 1.77245385090551602729816748334 /**< sqrt(pi)
          */
          #endif
-         
+
          #ifndef DEG2RAD
          # define DEG2RAD 0.017453292519943295769236907684 /**< pi/180 */
          #endif
          #ifndef RAD2DEG
          # define RAD2DEG 57.295779513082320876798154814105 /**< 180/pi */
          #endif
-         
-         
+
+
          /* minimum computation tolerances */
          #ifdef vax
          # define VDIVIDE_TOL (1.0e-10)
@@ -19131,74 +19131,74 @@
          # define VUNITIZE_TOL (1.0e-15)
          # endif
          #endif
-         
+
          /** @brief # of fastf_t's per vect2d_t */
          #define ELEMENTS_PER_VECT2D 2
-         
+
          /** @brief # of fastf_t's per point2d_t */
          #define ELEMENTS_PER_POINT2D 2
-         
+
          /** @brief # of fastf_t's per vect_t */
          #define ELEMENTS_PER_VECT 3
-         
+
          /** @brief # of fastf_t's per point_t */
          #define ELEMENTS_PER_POINT 3
-         
+
          /** @brief # of fastf_t's per hvect_t (homogeneous vector) */
          #define ELEMENTS_PER_HVECT 4
-         
+
          /** @brief # of fastf_t's per hpt_t (homogeneous point) */
          #define ELEMENTS_PER_HPOINT 4
-         
+
          /** @brief # of fastf_t's per plane_t */
          #define ELEMENTS_PER_PLANE 4
-         
+
          /** @brief # of fastf_t's per mat_t */
          #define ELEMENTS_PER_MAT (ELEMENTS_PER_PLANE*ELEMENTS_PER_PLANE)
-         
+
          /*
          * Types for matrices and vectors.
          */
-         
+
          /** @brief 2-tuple vector */
          typedef fastf_t vect2d_t[ELEMENTS_PER_VECT2D];
-         
+
          /** @brief pointer to a 2-tuple vector */
          typedef fastf_t *vect2dp_t;
-         
+
          /** @brief 2-tuple point */
          typedef fastf_t point2d_t[ELEMENTS_PER_POINT2D];
-         
+
          /** @brief pointer to a 2-tuple point */
          typedef fastf_t *point2dp_t;
-         
+
          /** @brief 3-tuple vector */
          typedef fastf_t vect_t[ELEMENTS_PER_VECT];
-         
+
          /** @brief pointer to a 3-tuple vector */
          typedef fastf_t *vectp_t;
-         
+
          /** @brief 3-tuple point */
          typedef fastf_t point_t[ELEMENTS_PER_POINT];
-         
+
          /** @brief pointer to a 3-tuple point */
          typedef fastf_t *pointp_t;
-         
+
          /** @brief 4-tuple vector */
          typedef fastf_t hvect_t[ELEMENTS_PER_HVECT];
-         
+
          /** @brief 4-element quaternion */
          typedef hvect_t quat_t;
-         
+
          /** @brief 4-tuple point */
          typedef fastf_t hpoint_t[ELEMENTS_PER_HPOINT];
-         
+
          /** @brief 4x4 matrix */
          typedef fastf_t mat_t[ELEMENTS_PER_MAT];
-         
+
          /** @brief pointer to a 4x4 matrix */
          typedef fastf_t *matp_t;
-         
+
          /** Vector component names for homogeneous (4-tuple) vectors */
          typedef enum bn_vector_component_ {
          X = 0,
@@ -19207,7 +19207,7 @@
          H = 3,
          W = H
          } bn_vector_component;
-         
+
          /**
          * Locations of deltas (MD*) and scaling values (MS*) in a 4x4
          * Homogeneous Transform matrix
@@ -19221,7 +19221,7 @@
          MDZ = 11,
          MSA = 15
          } bn_matrix_component;
-         
+
          /**
          * @brief Definition of a plane equation
          *
@@ -19247,15 +19247,15 @@
          *@n VDOT(D, N) > 0 ray exits halfspace defined by plane
          */
          typedef fastf_t plane_t[ELEMENTS_PER_PLANE];
-         
-         
+
+
          /**
          * Return truthfully whether a value is within a specified epsilon
          * distance from zero.
          */
          #define NEAR_ZERO(val, epsilon) (((val) > -epsilon) && ((val) <
          epsilon))
-         
+
          /**
          * Return truthfully whether all elements of a given vector are
          within
@@ -19265,14 +19265,14 @@
          (NEAR_ZERO(v[X], tol) \
          && NEAR_ZERO(v[Y], tol) \
          && NEAR_ZERO(v[Z], tol))
-         
+
          /**
          * Test for all elements of `v' being smaller than `tol'.
          * Version for degree 2 vectors.
          */
          #define V2NEAR_ZERO(v, tol) (NEAR_ZERO(v[X], tol) &&
          NEAR_ZERO(v[Y], tol))
-         
+
          /**
          * Test for all elements of `v' being smaller than `tol'.
          * Version for degree 2 vectors.
@@ -19282,8 +19282,8 @@
          && NEAR_ZERO(v[Y], tol) \
          && NEAR_ZERO(v[Z], tol) \
          && NEAR_ZERO(h[W], tol))
-         
-         
+
+
          /**
          * Return truthfully whether a value is within a minimum
          * representation tolerance from zero.
@@ -19291,7 +19291,7 @@
          * Use not recommended due to compilation-variant tolerance.
          */
          #define ZERO(_a) NEAR_ZERO((_a), SMALL_FASTF)
-         
+
          /**
          * Return truthfully whether a vector is within a minimum
          * representation tolerance from zero.
@@ -19299,7 +19299,7 @@
          * Use not recommended due to compilation-variant tolerance.
          */
          #define VZERO(_a) VNEAR_ZERO((_a), SMALL_FASTF)
-         
+
          /**
          * Return truthfully whether a 2d vector is within a minimum
          * representation tolerance from zero.
@@ -19307,7 +19307,7 @@
          * Use not recommended due to compilation-variant tolerance.
          */
          #define V2ZERO(_a) V2NEAR_ZERO((_a), SMALL_FASTF)
-         
+
          /**
          * Return truthfully whether a homogenized 4-element vector is
          within
@@ -19316,15 +19316,15 @@
          * Use not recommended due to compilation-variant tolerance.
          */
          #define HZERO(_a) HNEAR_ZERO((_a), SMALL_FASTF)
-         
-         
+
+
          /**
          * Return truthfully whether two values are within a specified
          epsilon
          * distance from each other.
          */
          #define NEAR_EQUAL(_a, _b, _tol) NEAR_ZERO((_a) - (_b), (_tol))
-         
+
          /**
          * Return truthfully whether two 3D vectors are approximately
          equal,
@@ -19334,7 +19334,7 @@
          (NEAR_EQUAL((_a)[X], (_b)[X], (_tol)) \
          && NEAR_EQUAL((_a)[Y], (_b)[Y], (_tol)) \
          && NEAR_EQUAL((_a)[Z], (_b)[Z], (_tol)))
-         
+
          /**
          * Return truthfully whether two 2D vectors are approximately
          equal,
@@ -19343,7 +19343,7 @@
          #define V2NEAR_EQUAL(a, b, tol) \
          (NEAR_EQUAL((a)[X], (b)[X], tol) \
          && NEAR_EQUAL((a)[Y], (b)[Y], tol))
-         
+
          /**
          * Return truthfully whether two 4D vectors are approximately
          equal,
@@ -19354,7 +19354,7 @@
          && NEAR_EQUAL((_a)[Y], (_b)[Y], (_tol)) \
          && NEAR_EQUAL((_a)[Z], (_b)[Z], (_tol)) \
          && NEAR_EQUAL((_a)[W], (_b)[W], (_tol)))
-         
+
          /**
          * Return truthfully whether two values are within a minimum
          * representation tolerance from each other.
@@ -19362,8 +19362,8 @@
          * Use not recommended due to compilation-variant tolerance.
          */
          #define EQUAL(_a, _b) NEAR_EQUAL((_a), (_b), SMALL_FASTF)
-         
-         
+
+
          /**
          * Return truthfully whether two vectors are equal within a
          minimum
@@ -19372,36 +19372,36 @@
          * Use not recommended due to compilation-variant tolerance.
          */
          #define VEQUAL(_a, _b) VNEAR_EQUAL((_a), (_b), SMALL_FASTF)
-         
+
          /**
          * @brief Return truthfully whether two 2D vectors are equal
          within
          * a minimum representation tolerance.
          */
          #define V2EQUAL(_a, _b) V2NEAR_EQUAL((_a), (_b), SMALL_FASTF)
-         
+
          /**
          * @brief Return truthfully whether two higher degree vectors are
          * equal within a minimum representation tolerance.
          */
          #define HEQUAL(_a, _b) HNEAR_EQUAL((_a), (_b), SMALL_FASTF)
-         
-         
+
+
          /**
          * clamp a value to a low/high number.
          */
          #define CLAMP(_v, _l, _h) if ((_v) < (_l)) _v = _l; else if ((_v)
          > (_h)) _v = _h
-         
-         
+
+
          /** Clamp a 3D vector to zero if within tolerance of zero. */
          #define VCLAMP(a) { \
          if (ZERO((a)[X])) (a)[X] = 0.0; \
          if (ZERO((a)[Y])) (a)[Y] = 0.0; \
          if (ZERO((a)[Z])) (a)[Z] = 0.0; \
          }
-         
-         
+
+
          /** Clamp a 4D vector to zero if within tolerance of zero. */
          #define HCLAMP(a) { \
          if (ZERO((a)[X])) (a)[X] = 0.0; \
@@ -19409,18 +19409,18 @@
          if (ZERO((a)[Z])) (a)[Z] = 0.0; \
          if (ZERO((a)[H])) (a)[H] = 0.0; \
          }
-         
-         
+
+
          /** @brief Compute distance from a point to a plane. */
          #define DIST_PT_PLANE(_pt, _pl) (VDOT(_pt, _pl) - (_pl)[W])
-         
+
          /** @brief Compute distance between two points. */
          #define DIST_PT_PT_SQ(_a, _b) \
          ((_a)[X]-(_b)[X])*((_a)[X]-(_b)[X]) + \
          ((_a)[Y]-(_b)[Y])*((_a)[Y]-(_b)[Y]) + \
          ((_a)[Z]-(_b)[Z])*((_a)[Z]-(_b)[Z])
          #define DIST_PT_PT(_a, _b) sqrt(DIST_PT_PT_SQ(_a, _b))
-         
+
          /** @brief set translation values of 4x4 matrix with x, y, z
          values. */
          #define MAT_DELTAS(_m, _x, _y, _z) { \
@@ -19428,25 +19428,25 @@
          (_m)[MDY] = (_y); \
          (_m)[MDZ] = (_z); \
          }
-         
+
          /** @brief set translation values of 4x4 matrix from a vector. */
          #define MAT_DELTAS_VEC(_m, _v) \
          MAT_DELTAS(_m, (_v)[X], (_v)[Y], (_v)[Z])
-         
+
          /**
          * @brief set translation values of 4x4 matrix from a reversed
          * vector.
          */
          #define MAT_DELTAS_VEC_NEG(_m, _v) \
          MAT_DELTAS(_m, -(_v)[X], -(_v)[Y], -(_v)[Z])
-         
+
          /** @brief get translation values of 4x4 matrix to a vector. */
          #define MAT_DELTAS_GET(_v, _m) { \
          (_v)[X] = (_m)[MDX]; \
          (_v)[Y] = (_m)[MDY]; \
          (_v)[Z] = (_m)[MDZ]; \
          }
-         
+
          /**
          * @brief get translation values of 4x4 matrix to a vector,
          * reversed.
@@ -19456,7 +19456,7 @@
          (_v)[Y] = -(_m)[MDY]; \
          (_v)[Z] = -(_m)[MDZ]; \
          }
-         
+
          /**
          * @brief increment translation elements in a 4x4 matrix with x,
          y, z
@@ -19467,7 +19467,7 @@
          (_m)[MDY] += (_y); \
          (_m)[MDZ] += (_z); \
          }
-         
+
          /**
          * @brief increment translation elements in a 4x4 matrix from a
          * vector.
@@ -19477,7 +19477,7 @@
          (_m)[MDY] += (_v)[Y]; \
          (_m)[MDZ] += (_v)[Z]; \
          }
-         
+
          /**
          * @brief decrement translation elements in a 4x4 matrix with x,
          y, z
@@ -19488,7 +19488,7 @@
          (_m)[MDY] -= (_y); \
          (_m)[MDZ] -= (_z); \
          }
-         
+
          /**
          * @brief decrement translation elements in a 4x4 matrix from a
          * vector.
@@ -19498,7 +19498,7 @@
          (_m)[MDY] -= (_v)[Y]; \
          (_m)[MDZ] -= (_v)[Z]; \
          }
-         
+
          /**
          * @brief decrement translation elements in a 4x4 matrix with x,
          y, z
@@ -19509,7 +19509,7 @@
          (_m)[MDY] *= (_y); \
          (_m)[MDZ] *= (_z); \
          }
-         
+
          /**
          * @brief decrement translation elements in a 4x4 matrix from a
          * vector.
@@ -19519,31 +19519,31 @@
          (_m)[MDY] *= (_v)[Y]; \
          (_m)[MDZ] *= (_v)[Z]; \
          }
-         
+
          /** @brief set scale of 4x4 matrix from xyz. */
          #define MAT_SCALE(_m, _x, _y, _z) { \
          (_m)[MSX] = _x; \
          (_m)[MSY] = _y; \
          (_m)[MSZ] = _z; \
          }
-         
+
          /** @brief set scale of 4x4 matrix from vector. */
          #define MAT_SCALE_VEC(_m, _v) { \
          (_m)[MSX] = (_v)[X]; \
          (_m)[MSY] = (_v)[Y]; \
          (_m)[MSZ] = (_v)[Z]; \
          }
-         
+
          /** @brief set uniform scale of 4x4 matrix from scalar. */
          #define MAT_SCALE_ALL(_m, _s) (_m)[MSA] = (_s)
-         
+
          /** @brief add to scaling elements in a 4x4 matrix from xyz. */
          #define MAT_SCALE_ADD(_m, _x, _y, _z) { \
          (_m)[MSX] += _x; \
          (_m)[MSY] += _y; \
          (_m)[MSZ] += _z; \
          }
-         
+
          /** @brief add to scaling elements in a 4x4 matrix from vector.
          */
          #define MAT_SCALE_ADD_VEC(_m, _v) { \
@@ -19551,7 +19551,7 @@
          (_m)[MSY] += (_v)[Y]; \
          (_m)[MSZ] += (_v)[Z]; \
          }
-         
+
          /** @brief subtract from scaling elements in a 4x4 matrix from
          xyz. */
          #define MAT_SCALE_SUB(_m, _x, _y, _z) { \
@@ -19559,7 +19559,7 @@
          (_m)[MSY] -= _y; \
          (_m)[MSZ] -= _z; \
          }
-         
+
          /**
          * @brief subtract from scaling elements in a 4x4 matrix from
          * vector.
@@ -19569,14 +19569,14 @@
          (_m)[MSY] -= (_v)[Y]; \
          (_m)[MSZ] -= (_v)[Z]; \
          }
-         
+
          /** @brief multiply scaling elements in a 4x4 matrix from xyz. */
          #define MAT_SCALE_MUL(_m, _x, _y, _z) { \
          (_m)[MSX] *= _x; \
          (_m)[MSY] *= _y; \
          (_m)[MSZ] *= _z; \
          }
-         
+
          /** @brief multiply scaling elements in a 4x4 matrix from vector.
          */
          #define MAT_SCALE_MUL_VEC(_m, _v) { \
@@ -19584,15 +19584,15 @@
          (_m)[MSY] *= (_v)[Y]; \
          (_m)[MSZ] *= (_v)[Z]; \
          }
-         
-         
+
+
          /**
          * In following are macro versions of librt/mat.c functions for
          when
          * speed really matters.
          */
-         
-         
+
+
          /** @brief Zero a matrix. */
          #define MAT_ZERO(m) { \
          (m)[0] = (m)[1] = (m)[2] = (m)[3] = \
@@ -19600,7 +19600,7 @@
          (m)[8] = (m)[9] = (m)[10] = (m)[11] = \
          (m)[12] = (m)[13] = (m)[14] = (m)[15] = 0.0; \
          }
-         
+
          /** @brief Set matrix to identity. */
          #define MAT_IDN(m) { \
          (m)[1] = (m)[2] = (m)[3] = (m)[4] = \
@@ -19608,7 +19608,7 @@
          (m)[11] = (m)[12] = (m)[13] = (m)[14] = 0.0; \
          (m)[0] = (m)[5] = (m)[10] = (m)[15] = 1.0; \
          }
-         
+
          /** @brief set t to the transpose of matrix m */
          #define MAT_TRANSPOSE(t, m) { \
          (t)[0] = (m)[0]; \
@@ -19628,7 +19628,7 @@
          (t)[11] = (m)[14]; \
          (t)[15] = (m)[15]; \
          }
-         
+
          /** @brief Copy a matrix. */
          #define MAT_COPY(d, s) { \
          (d)[0] = (s)[0]; \
@@ -19648,7 +19648,7 @@
          (d)[14] = (s)[14]; \
          (d)[15] = (s)[15]; \
          }
-         
+
          /** @brief Set 3D vector at `a' to have coordinates `b', `c', and
          `d'. */
          #define VSET(a, b, c, d) { \
@@ -19656,14 +19656,14 @@
          (a)[Y] = (c); \
          (a)[Z] = (d); \
          }
-         
+
          /** @brief Set 2D vector at `a' to have coordinates `b' and `c'.
          */
          #define V2SET(a, b, c) { \
          (a)[X] = (b); \
          (a)[Y] = (c); \
          }
-         
+
          /** @brief Set 4D vector at `a' to homogeneous coordinates `b',
          `c', `d', and `e'. */
          #define HSET(a, b, c, d, e) { \
@@ -19672,44 +19672,44 @@
          (a)[Z] = (d); \
          (a)[H] = (e); \
          }
-         
-         
+
+
          /** @brief Set all elements of 3D vector to same scalar value. */
          #define VSETALL(a, s) { \
          (a)[X] = (a)[Y] = (a)[Z] = (s); \
          }
-         
+
          /** @brief Set 2D vector elements to same scalar value. */
          #define V2SETALL(a, s) { \
          (a)[X] = (a)[Y] = (s); \
          }
-         
+
          /** @brief Set 4D vector elements to same scalar value. */
          #define HSETALL(a, s) { \
          (a)[X] = (a)[Y] = (a)[Z] = (a)[H] = (s); \
          }
-         
-         
+
+
          /** @brief Set all elements of N-vector to same scalar value. */
          #define VSETALLN(v, s, n) { \
          register int _j; \
          for (_j=0; _j<n; _j++) v[_j]=(s); \
          }
-         
-         
+
+
          /** @brief Transfer 3D vector at `b' to vector at `a'. */
          #define VMOVE(a, b) { \
          (a)[X] = (b)[X]; \
          (a)[Y] = (b)[Y]; \
          (a)[Z] = (b)[Z]; \
          }
-         
+
          /** @brief Move a 2D vector. */
          #define V2MOVE(a, b) { \
          (a)[X] = (b)[X]; \
          (a)[Y] = (b)[Y]; \
          }
-         
+
          /** @brief Move a homogeneous 4-tuple. */
          #define HMOVE(a, b) { \
          (a)[X] = (b)[X]; \
@@ -19717,7 +19717,7 @@
          (a)[Z] = (b)[Z]; \
          (a)[W] = (b)[W]; \
          }
-         
+
          /** @brief Transfer vector of length `n' at `b' to vector at `a'.
          */
          #define VMOVEN(a, b, n) { \
@@ -19726,8 +19726,8 @@
          (a)[_vmove] = (b)[_vmove]; \
          } \
          }
-         
-         
+
+
          /** @brief Reverse the direction of 3D vector `b' and store it in
          `a'. */
          #define VREVERSE(a, b) { \
@@ -19735,14 +19735,14 @@
          (a)[Y] = -(b)[Y]; \
          (a)[Z] = -(b)[Z]; \
          }
-         
+
          /** @brief Reverse the direction of 2D vector `b' and store it in
          `a'. */
          #define V2REVERSE(a, b) { \
          (a)[X] = -(b)[X]; \
          (a)[Y] = -(b)[Y]; \
          }
-         
+
          /**
          * @brief Same as VREVERSE, but for a 4-tuple. Also useful on
          plane_t
@@ -19754,20 +19754,20 @@
          (a)[Z] = -(b)[Z]; \
          (a)[W] = -(b)[W]; \
          }
-         
+
          /** @brief Add 3D vectors at `b' and `c', store result at `a'. */
          #define VADD2(a, b, c) { \
          (a)[X] = (b)[X] + (c)[X]; \
          (a)[Y] = (b)[Y] + (c)[Y]; \
          (a)[Z] = (b)[Z] + (c)[Z]; \
          }
-         
+
          /** @brief Add 2D vectors at `b' and `c', store result at `a'. */
          #define V2ADD2(a, b, c) { \
          (a)[X] = (b)[X] + (c)[X]; \
          (a)[Y] = (b)[Y] + (c)[Y]; \
          }
-         
+
          /** @brief Add 4D vectors at `b' and `c', store result at `a'. */
          #define HADD2(a, b, c) { \
          (a)[X] = (b)[X] + (c)[X]; \
@@ -19775,7 +19775,7 @@
          (a)[Z] = (b)[Z] + (c)[Z]; \
          (a)[W] = (b)[W] + (c)[W]; \
          }
-         
+
          /**
          * @brief Add vectors of length `n' at `b' and `c', store result
          at
@@ -19787,8 +19787,8 @@
          (a)[_vadd2] = (b)[_vadd2] + (c)[_vadd2]; \
          } \
          }
-         
-         
+
+
          /**
          * @brief Subtract 3D vector at `c' from vector at `b', store
          result at
@@ -19799,7 +19799,7 @@
          (a)[Y] = (b)[Y] - (c)[Y]; \
          (a)[Z] = (b)[Z] - (c)[Z]; \
          }
-         
+
          /**
          * @brief Subtract 2D vector at `c' from vector at `b', store
          result at
@@ -19809,7 +19809,7 @@
          (a)[X] = (b)[X] - (c)[X]; \
          (a)[Y] = (b)[Y] - (c)[Y]; \
          }
-         
+
          /**
          * @brief Subtract 4D vector at `c' from vector at `b', store
          result at
@@ -19821,7 +19821,7 @@
          (a)[Z] = (b)[Z] - (c)[Z]; \
          (a)[W] = (b)[W] - (c)[W]; \
          }
-         
+
          /**
          * @brief Subtract `n' length vector at `c' from vector at `b',
          store
@@ -19833,21 +19833,21 @@
          (a)[_vsub2] = (b)[_vsub2] - (c)[_vsub2]; \
          } \
          }
-         
-         
+
+
          /** @brief 3D Vectors: A = B - C - D */
          #define VSUB3(a, b, c, d) { \
          (a)[X] = (b)[X] - (c)[X] - (d)[X]; \
          (a)[Y] = (b)[Y] - (c)[Y] - (d)[Y]; \
          (a)[Z] = (b)[Z] - (c)[Z] - (d)[Z]; \
          }
-         
+
          /** @brief 2D Vectors: A = B - C - D */
          #define V2SUB3(a, b, c, d) { \
          (a)[X] = (b)[X] - (c)[X] - (d)[X]; \
          (a)[Y] = (b)[Y] - (c)[Y] - (d)[Y]; \
          }
-         
+
          /** @brief 4D Vectors: A = B - C - D */
          #define HSUB3(a, b, c, d) { \
          (a)[X] = (b)[X] - (c)[X] - (d)[X]; \
@@ -19855,7 +19855,7 @@
          (a)[Z] = (b)[Z] - (c)[Z] - (d)[Z]; \
          (a)[W] = (b)[W] - (c)[W] - (d)[W]; \
          }
-         
+
          /** @brief Vectors: A = B - C - D for vectors of length `n'. */
          #define VSUB3N(a, b, c, d, n) { \
          register int _vsub3; \
@@ -19863,8 +19863,8 @@
          (a)[_vsub3] = (b)[_vsub3] - (c)[_vsub3] - (d)[_vsub3]; \
          } \
          }
-         
-         
+
+
          /** @brief Add 3 3D vectors at `b', `c', and `d', store result at
          `a'. */
          #define VADD3(a, b, c, d) { \
@@ -19872,14 +19872,14 @@
          (a)[Y] = (b)[Y] + (c)[Y] + (d)[Y]; \
          (a)[Z] = (b)[Z] + (c)[Z] + (d)[Z]; \
          }
-         
+
          /** @brief Add 3 2D vectors at `b', `c', and `d', store result at
          `a'. */
          #define V2ADD3(a, b, c, d) { \
          (a)[X] = (b)[X] + (c)[X] + (d)[X]; \
          (a)[Y] = (b)[Y] + (c)[Y] + (d)[Y]; \
          }
-         
+
          /** @brief Add 3 4D vectors at `b', `c', and `d', store result at
          `a'. */
          #define HADD3(a, b, c, d) { \
@@ -19888,7 +19888,7 @@
          (a)[Z] = (b)[Z] + (c)[Z] + (d)[Z]; \
          (a)[W] = (b)[W] + (c)[W] + (d)[W]; \
          }
-         
+
          /**
          * @brief Add 3 vectors of length `n' at `b', `c', and `d', store
          * result at `a'.
@@ -19899,8 +19899,8 @@
          (a)[_vadd3] = (b)[_vadd3] + (c)[_vadd3] + (d)[_vadd3]; \
          } \
          }
-         
-         
+
+
          /**
          * @brief Add 4 vectors at `b', `c', `d', and `e', store result at
          * `a'.
@@ -19910,7 +19910,7 @@
          (a)[Y] = (b)[Y] + (c)[Y] + (d)[Y] + (e)[Y]; \
          (a)[Z] = (b)[Z] + (c)[Z] + (d)[Z] + (e)[Z]; \
          }
-         
+
          /**
          * @brief Add 4 2D vectors at `b', `c', `d', and `e', store result
          at
@@ -19920,7 +19920,7 @@
          (a)[X] = (b)[X] + (c)[X] + (d)[X] + (e)[X]; \
          (a)[Y] = (b)[Y] + (c)[Y] + (d)[Y] + (e)[Y]; \
          }
-         
+
          /**
          * @brief Add 4 4D vectors at `b', `c', `d', and `e', store result
          at
@@ -19932,7 +19932,7 @@
          (a)[Z] = (b)[Z] + (c)[Z] + (d)[Z] + (e)[Z]; \
          (a)[W] = (b)[W] + (c)[W] + (d)[W] + (e)[W]; \
          }
-         
+
          /**
          * @brief Add 4 `n' length vectors at `b', `c', `d', and `e',
          store
@@ -19945,8 +19945,8 @@
          (e)[_vadd4]; \
          } \
          }
-         
-         
+
+
          /** @brief Scale 3D vector at `b' by scalar `c', store result at
          `a'. */
          #define VSCALE(a, b, c) { \
@@ -19954,14 +19954,14 @@
          (a)[Y] = (b)[Y] * (c); \
          (a)[Z] = (b)[Z] * (c); \
          }
-         
+
          /** @brief Scale 2D vector at `b' by scalar `c', store result at
          `a'. */
          #define V2SCALE(a, b, c) { \
          (a)[X] = (b)[X] * (c); \
          (a)[Y] = (b)[Y] * (c); \
          }
-         
+
          /** @brief Scale 4D vector at `b' by scalar `c', store result at
          `a'. */
          #define HSCALE(a, b, c) { \
@@ -19970,7 +19970,7 @@
          (a)[Z] = (b)[Z] * (c); \
          (a)[W] = (b)[W] * (c); \
          }
-         
+
          /**
          * @brief Scale vector of length `n' at `b' by scalar `c', store
          * result at `a'
@@ -19981,7 +19981,7 @@
          (a)[_vscale] = (b)[_vscale] * (c); \
          } \
          }
-         
+
          /** @brief Normalize vector `a' to be a unit vector. */
          #define VUNITIZE(a) { \
          register double _f = MAGSQ(a); \
@@ -19995,7 +19995,7 @@
          } \
          } \
          }
-         
+
          /** @brief If vector magnitude is too small, return an error
          code. */
          #define VUNITIZE_RET(a, ret) { \
@@ -20005,7 +20005,7 @@
          _f = 1.0/_f; \
          (a)[X] *= _f; (a)[Y] *= _f; (a)[Z] *= _f; \
          }
-         
+
          /**
          * @brief Find the sum of two points, and scale the result. Often
          * used to find the midpoint.
@@ -20015,7 +20015,7 @@
          (o)[Y] = ((a)[Y] + (b)[Y]) * (s); \
          (o)[Z] = ((a)[Z] + (b)[Z]) * (s); \
          }
-         
+
          #define VADD2SCALEN(o, a, b, n) { \
          register int _vadd2scale; \
          for (_vadd2scale = 0; \
@@ -20024,7 +20024,7 @@
          (o)[_vadd2scale] = ((a)[_vadd2scale] + (b)[_vadd2scale]) * (s); \
          } \
          }
-         
+
          /**
          * @brief Find the difference between two points, and scale
          result.
@@ -20035,7 +20035,7 @@
          (o)[Y] = ((a)[Y] - (b)[Y]) * (s); \
          (o)[Z] = ((a)[Z] - (b)[Z]) * (s); \
          }
-         
+
          #define VSUB2SCALEN(o, a, b, n) { \
          register int _vsub2scale; \
          for (_vsub2scale = 0; \
@@ -20044,8 +20044,8 @@
          (o)[_vsub2scale] = ((a)[_vsub2scale] - (b)[_vsub2scale]) * (s); \
          } \
          }
-         
-         
+
+
          /** @brief Combine together several vectors, scaled by a scalar.
          */
          #define VCOMB3(o, a, b, c, d, e, f) { \
@@ -20053,7 +20053,7 @@
          (o)[Y] = (a) * (b)[Y] + (c) * (d)[Y] + (e) * (f)[Y]; \
          (o)[Z] = (a) * (b)[Z] + (c) * (d)[Z] + (e) * (f)[Z]; \
          }
-         
+
          #define VCOMB3N(o, a, b, c, d, e, f, n) { \
          register int _vcomb3; \
          for (_vcomb3 = 0; \
@@ -20063,13 +20063,13 @@
          (f)[_vcomb3]; \
          } \
          }
-         
+
          #define VCOMB2(o, a, b, c, d) { \
          (o)[X] = (a) * (b)[X] + (c) * (d)[X]; \
          (o)[Y] = (a) * (b)[Y] + (c) * (d)[Y]; \
          (o)[Z] = (a) * (b)[Z] + (c) * (d)[Z]; \
          }
-         
+
          #define VCOMB2N(o, a, b, c, d, n) { \
          register int _vcomb2; \
          for (_vcomb2 = 0; \
@@ -20078,7 +20078,7 @@
          (o)[_vcomb2] = (a) * (b)[_vcomb2] + (c) * (d)[_vcomb2]; \
          } \
          }
-         
+
          #define VJOIN4(a, b, c, d, e, f, g, h, i, j) { \
          (a)[X] = (b)[X] + (c)*(d)[X] + (e)*(f)[X] + (g)*(h)[X] +
          (i)*(j)[X]; \
@@ -20087,14 +20087,14 @@
          (a)[Z] = (b)[Z] + (c)*(d)[Z] + (e)*(f)[Z] + (g)*(h)[Z] +
          (i)*(j)[Z]; \
          }
-         
+
          #define VJOIN3(a, b, c, d, e, f, g, h) { \
          (a)[X] = (b)[X] + (c)*(d)[X] + (e)*(f)[X] + (g)*(h)[X]; \
          (a)[Y] = (b)[Y] + (c)*(d)[Y] + (e)*(f)[Y] + (g)*(h)[Y]; \
          (a)[Z] = (b)[Z] + (c)*(d)[Z] + (e)*(f)[Z] + (g)*(h)[Z]; \
          }
-         
-         
+
+
          /**
          * @brief Compose 3D vector at `a' of:
          * Vector at `b' plus
@@ -20106,7 +20106,7 @@
          (a)[Y] = (b)[Y] + (c) * (d)[Y] + (e) * (f)[Y]; \
          (a)[Z] = (b)[Z] + (c) * (d)[Z] + (e) * (f)[Z]; \
          }
-         
+
          /**
          * @brief Compose 2D vector at `a' of:
          * Vector at `b' plus
@@ -20117,7 +20117,7 @@
          (a)[X] = (b)[X] + (c) * (d)[X] + (e) * (f)[X]; \
          (a)[Y] = (b)[Y] + (c) * (d)[Y] + (e) * (f)[Y]; \
          }
-         
+
          /**
          * @brief Compose 4D vector at `a' of:
          * Vector at `b' plus
@@ -20130,7 +20130,7 @@
          (a)[Z] = (b)[Z] + (c) * (d)[Z] + (e) * (f)[Z]; \
          (a)[W] = (b)[W] + (c) * (d)[W] + (e) * (f)[W]; \
          }
-         
+
          #define VJOIN2N(a, b, c, d, e, f, n) { \
          register int _vjoin2; \
          for (_vjoin2 = 0; \
@@ -20140,26 +20140,26 @@
          (f)[_vjoin2]; \
          } \
          }
-         
-         
+
+
          #define VJOIN1(a, b, c, d) { \
          (a)[X] = (b)[X] + (c) * (d)[X]; \
          (a)[Y] = (b)[Y] + (c) * (d)[Y]; \
          (a)[Z] = (b)[Z] + (c) * (d)[Z]; \
          }
-         
+
          #define V2JOIN1(a, b, c, d) { \
          (a)[X] = (b)[X] + (c) * (d)[X]; \
          (a)[Y] = (b)[Y] + (c) * (d)[Y]; \
          }
-         
+
          #define HJOIN1(a, b, c, d) { \
          (a)[X] = (b)[X] + (c) * (d)[X]; \
          (a)[Y] = (b)[Y] + (c) * (d)[Y]; \
          (a)[Z] = (b)[Z] + (c) * (d)[Z]; \
          (a)[W] = (b)[W] + (c) * (d)[W]; \
          }
-         
+
          #define VJOIN1N(a, b, c, d, n) { \
          register int _vjoin1; \
          for (_vjoin1 = 0; \
@@ -20168,8 +20168,8 @@
          (a)[_vjoin1] = (b)[_vjoin1] + (c) * (d)[_vjoin1]; \
          } \
          }
-         
-         
+
+
          /**
          * @brief Blend into vector `a'
          * scalar `b' times vector at `c' plus
@@ -20180,7 +20180,7 @@
          (a)[Y] = (b) * (c)[Y] + (d) * (e)[Y]; \
          (a)[Z] = (b) * (c)[Z] + (d) * (e)[Z]; \
          }
-         
+
          #define VBLEND2N(a, b, c, d, e, n) { \
          register int _vblend2; \
          for (_vblend2 = 0; \
@@ -20189,8 +20189,8 @@
          (a)[_vblend2] = (b) * (c)[_vblend2] + (d) * (e)[_vblend2]; \
          } \
          }
-         
-         
+
+
          /**
          * @brief Project vector `a' onto `b'
          * vector `c' is the component of `a' parallel to `b'
@@ -20200,15 +20200,15 @@
          VSCALE(c, b, VDOT(a, b) / VDOT(b, b)); \
          VSUB2(d, a, c); \
          }
-         
+
          /** @brief Return scalar magnitude squared of vector at `a' */
          #define MAGSQ(a) ((a)[X]*(a)[X] + (a)[Y]*(a)[Y] + (a)[Z]*(a)[Z])
          #define MAG2SQ(a) ((a)[X]*(a)[X] + (a)[Y]*(a)[Y])
-         
+
          /** @brief Return scalar magnitude of vector at `a' */
          #define MAGNITUDE(a) sqrt(MAGSQ(a))
-         
-         
+
+
          /**
          * Store cross product of 3D vectors at `b' and `c' in vector at
          `a'.
@@ -20232,7 +20232,7 @@
          (a)[Y] = (b)[Z] * (c)[X] - (b)[X] * (c)[Z]; \
          (a)[Z] = (b)[X] * (c)[Y] - (b)[Y] * (c)[X]; \
          }
-         
+
          /**
          * Return the analog of a cross product for 2D vectors `a' and `b'
          * as a scalar value. If a = (ax, ay) and b = (bx, by), then the
@@ -20240,23 +20240,23 @@
          * of a x b is det(a*b) = ax*by - ay*bx
          */
          #define V2CROSS(a, b) ((a)[X] * (b)[Y] - (a)[Y] * (b)[X])
-         
+
          /**
          * TODO: implement me
          */
          #define HCROSS(a, b, c)
-         
-         
+
+
          /** @brief Compute dot product of vectors at `a' and `b'. */
          #define VDOT(a, b) ((a)[X]*(b)[X] + (a)[Y]*(b)[Y] +
          (a)[Z]*(b)[Z])
-         
+
          #define V2DOT(a, b) ((a)[X]*(b)[X] + (a)[Y]*(b)[Y])
-         
+
          #define HDOT(a, b) ((a)[X]*(b)[X] + (a)[Y]*(b)[Y] + (a)[Z]*(b)[Z]
          + (a)[W]*(b)[W])
-         
-         
+
+
          /**
          * @brief Subtract two points to make a vector, dot with another
          * vector.
@@ -20265,7 +20265,7 @@
          ((_pt2)[X] - (_pt)[X]) * (_vec)[X] + \
          ((_pt2)[Y] - (_pt)[Y]) * (_vec)[Y] + \
          ((_pt2)[Z] - (_pt)[Z]) * (_vec)[Z])
-         
+
          /**
          * @brief Turn a vector into comma-separated list of elements, for
          * subroutine args.
@@ -20273,7 +20273,7 @@
          #define V2ARGS(a) (a)[X], (a)[Y]
          #define V3ARGS(a) (a)[X], (a)[Y], (a)[Z]
          #define V4ARGS(a) (a)[X], (a)[Y], (a)[Z], (a)[W]
-         
+
          /**
          * if a value is within computation tolerance of an integer, clamp
          the
@@ -20286,7 +20286,7 @@
          */
          #define INTCLAMP(_a) (NEAR_EQUAL((_a), rint(_a), VUNITIZE_TOL) ?
          (double)(long)rint(_a) : (_a))
-         
+
          /** @brief integer clamped versions of the previous arg macros.
          */
          #define V2INTCLAMPARGS(a) INTCLAMP((a)[X]), INTCLAMP((a)[Y])
@@ -20298,7 +20298,7 @@
          */
          #define V4INTCLAMPARGS(a) INTCLAMP((a)[X]), INTCLAMP((a)[Y]),
          INTCLAMP((a)[Z]), INTCLAMP((a)[W])
-         
+
          /** @brief Print vector name and components on stderr. */
          #define V2PRINT(a, b) \
          (void)fprintf(stderr, "%s (%g, %g)\n", a, V2ARGS(b));
@@ -20306,13 +20306,13 @@
          (void)fprintf(stderr, "%s (%g, %g, %g)\n", a, V3ARGS(b));
          #define HPRINT(a, b) \
          (void)fprintf(stderr, "%s (%g, %g, %g, %g)\n", a, V4ARGS(b));
-         
+
          /**
          * @brief Included below are integer clamped versions of the
          previous
          * print macros.
          */
-         
+
          #define V2INTCLAMPPRINT(a, b) \
          (void)fprintf(stderr, "%s (%g, %g)\n", a, V2INTCLAMPARGS(b));
          #define VINTCLAMPPRINT(a, b) \
@@ -20320,7 +20320,7 @@
          #define HINTCLAMPPRINT(a, b) \
          (void)fprintf(stderr, "%s (%g, %g, %g, %g)\n", a,
          V4INTCLAMPARGS(b));
-         
+
          #ifdef __cplusplus
          #define CPP_V3PRINT(_os, _title, _p) (_os) << (_title) << "=(" <<
          \
@@ -20333,7 +20333,7 @@
          (_p)[X] << ", " << (_p)[Y] << ", " << (_p)[Z] << ", " <<
          (_p)[W]<< ")\n";
          #endif
-         
+
          /** @brief Vector element multiplication. Really: diagonal matrix
          X vect. */
          #define VELMUL(a, b, c) { \
@@ -20341,20 +20341,20 @@
          (a)[Y] = (b)[Y] * (c)[Y]; \
          (a)[Z] = (b)[Z] * (c)[Z]; \
          }
-         
+
          #define VELMUL3(a, b, c, d) { \
          (a)[X] = (b)[X] * (c)[X] * (d)[X]; \
          (a)[Y] = (b)[Y] * (c)[Y] * (d)[Y]; \
          (a)[Z] = (b)[Z] * (c)[Z] * (d)[Z]; \
          }
-         
+
          /** @brief Similar to VELMUL. */
          #define VELDIV(a, b, c) { \
          (a)[0] = (b)[0] / (c)[0]; \
          (a)[1] = (b)[1] / (c)[1]; \
          (a)[2] = (b)[2] / (c)[2]; \
          }
-         
+
          /**
          * @brief Given a direction vector, compute the inverses of each
          element.
@@ -20384,7 +20384,7 @@
          (_inv)[Z] = INFINITY; \
          } \
          }
-         
+
          /**
          * @brief Apply the 3x3 part of a mat_t to a 3-tuple. This rotates
          a
@@ -20398,14 +20398,14 @@
          (o)[Z] = (mat)[8]*(vec)[X]+(mat)[9]*(vec)[Y] +
          (mat)[10]*(vec)[Z]; \
          }
-         
+
          /** @brief Multiply a 3-tuple by the 3x3 part of a mat_t. */
          #define VEC3X3MAT(o, i, m) { \
          (o)[X] = (i)[X]*(m)[X] + (i)[Y]*(m)[4] + (i)[Z]*(m)[8]; \
          (o)[Y] = (i)[X]*(m)[1] + (i)[Y]*(m)[5] + (i)[Z]*(m)[9]; \
          (o)[Z] = (i)[X]*(m)[2] + (i)[Y]*(m)[6] + (i)[Z]*(m)[10]; \
          }
-         
+
          /** @brief Apply the 3x3 part of a mat_t to a 2-tuple (Z part=0).
          */
          #define MAT3X2VEC(o, mat, vec) { \
@@ -20413,7 +20413,7 @@
          (o)[Y] = (mat)[4]*(vec)[X] + (mat)[5]*(vec)[Y]; \
          (o)[Z] = (mat)[8]*(vec)[X] + (mat)[9]*(vec)[Y]; \
          }
-         
+
          /** @brief Multiply a 2-tuple (Z=0) by the 3x3 part of a mat_t.
          */
          #define VEC2X3MAT(o, i, m) { \
@@ -20421,7 +20421,7 @@
          (o)[Y] = (i)[X]*(m)[1] + (i)[Y]*(m)[5]; \
          (o)[Z] = (i)[X]*(m)[2] + (i)[Y]*(m)[6]; \
          }
-         
+
          /**
          * @brief Apply a 4x4 matrix to a 3-tuple which is an absolute
          Point
@@ -20438,7 +20438,7 @@
          (o)[Z]=((m)[8]*(i)[X] + (m)[9]*(i)[Y] + (m)[10]*(i)[Z] +
          (m)[11])* _f; \
          }
-         
+
          /**
          * @brief Multiply an Absolute 3-Point by a full 4x4 matrix.
          Output
@@ -20455,7 +20455,7 @@
          (o)[Z]=((i)[X]*(m)[2] + (i)[Y]*(m)[6] + (i)[Z]*(m)[10] +
          (m)[14])* _f; \
          }
-         
+
          /**
          * @brief Multiply an Absolute hvect_t 4-Point by a full 4x4
          matrix.
@@ -20471,7 +20471,7 @@
          (o)[H]=(m)[12]*(i)[X] + (m)[13]*(i)[Y] + (m)[14]*(i)[Z] +
          (m)[15]*(i)[H]; \
          }
-         
+
          /**
          * @brief Apply a 4x4 matrix to a 3-tuple which is a relative
          Vector
@@ -20486,11 +20486,11 @@
          (o)[Y] = ((m)[4]*(i)[X] + (m)[5]*(i)[Y] + (m)[ 6]*(i)[Z]) * _f; \
          (o)[Z] = ((m)[8]*(i)[X] + (m)[9]*(i)[Y] + (m)[10]*(i)[Z]) * _f; \
          }
-         
+
          #define MAT4XSCALOR(o, m, i) { \
          (o) = (i) / (m)[15]; \
          }
-         
+
          /**
          * @brief Multiply a Relative 3-Vector by most of a 4x4 matrix.
          * Output and input vectors should be separate arrays.
@@ -20502,7 +20502,7 @@
          (o)[Y] = ((i)[X]*(m)[1] + (i)[Y]*(m)[5] + (i)[Z]*(m)[9]) * _f; \
          (o)[Z] = ((i)[X]*(m)[2] + (i)[Y]*(m)[6] + (i)[Z]*(m)[10]) * _f; \
          }
-         
+
          /** @brief Multiply a Relative 2-Vector by most of a 4x4 matrix.
          */
          #define VEC2X4MAT(o, i, m) { \
@@ -20512,35 +20512,35 @@
          (o)[Y] = ((i)[X]*(m)[1] + (i)[Y]*(m)[5]) * _f; \
          (o)[Z] = ((i)[X]*(m)[2] + (i)[Y]*(m)[6]) * _f; \
          }
-         
+
          /** @brief Test a vector for non-unit length. */
          #define BN_VEC_NON_UNIT_LEN(_vec) \
          (fabs(MAGSQ(_vec)) < 0.0001 || fabs(fabs(MAGSQ(_vec))-1) >
          0.0001)
-         
+
          /**
          * @brief Included below are macros to update min and max X, Y, Z
          * values to contain a point
          */
-         
+
          #define V_MIN(r, s) if ((r) > (s)) r = (s)
-         
+
          #define V_MAX(r, s) if ((r) < (s)) r = (s)
-         
+
          #define VMIN(r, s) { \
          V_MIN((r)[X], (s)[X]); V_MIN((r)[Y], (s)[Y]); V_MIN((r)[Z],
          (s)[Z]); \
          }
-         
+
          #define VMAX(r, s) { \
          V_MAX((r)[X], (s)[X]); V_MAX((r)[Y], (s)[Y]); V_MAX((r)[Z],
          (s)[Z]); \
          }
-         
+
          #define VMINMAX(min, max, pt) { \
          VMIN((min), (pt)); VMAX((max), (pt)); \
          }
-         
+
          /**
          * @brief Divide out homogeneous parameter from hvect_t, creating
          * vect_t.
@@ -20550,7 +20550,7 @@
          (a)[Y] = (b)[Y] / (b)[H]; \
          (a)[Z] = (b)[Z] / (b)[H]; \
          }
-         
+
          /**
          * @brief Some 2-D versions of the 3-D macros given above.
          *
@@ -20568,8 +20568,8 @@
          #define VMOVE_2D(a, b) V2MOVE(a, b)
          #define VSCALE_2D(a, b, c) V2SCALE(a, b, c)
          #define VJOIN1_2D(a, b, c, d) V2JOIN1(a, b, c, d)
-         
-         
+
+
          /**
          * @brief Quaternion math definitions.
          *
@@ -20580,7 +20580,7 @@
          * Y, and Z elements will be compatible with vectors. Only
          * QUAT_FROM_VROT macros depend on component locations, however.
          */
-         
+
          /**
          * @brief Create Quaternion from Vector and Rotation about vector.
          *
@@ -20603,7 +20603,7 @@
          _rot = sin(_rot); /* _rot is really just a temp variable now */ \
          VSCALE(q, q, _rot); \
          }
-         
+
          #define QUAT_FROM_VROT(q, r, v) { \
          register fastf_t _rot = (r) * 0.5; \
          VMOVE(q, v); \
@@ -20612,14 +20612,14 @@
          _rot = sin(_rot); /* _rot is really just a temp variable now */ \
          VSCALE(q, q, _rot); \
          }
-         
+
          #define QUAT_FROM_VROT_DEG(q, r, v) \
          QUAT_FROM_VROT(q, ((r)*(M_PI/180.0)), v)
-         
+
          #define QUAT_FROM_ROT_DEG(q, r, x, y, z) \
          QUAT_FROM_ROT(q, ((r)*(M_PI/180.0)), x, y, z)
-         
-         
+
+
          /**
          * @brief Set quaternion at `a' to have coordinates `b', `c', `d',
          and
@@ -20631,7 +20631,7 @@
          (a)[Z] = (d); \
          (a)[W] = (e); \
          }
-         
+
          /** @brief Transfer quaternion at `b' to quaternion at `a'. */
          #define QMOVE(a, b) { \
          (a)[X] = (b)[X]; \
@@ -20639,7 +20639,7 @@
          (a)[Z] = (b)[Z]; \
          (a)[W] = (b)[W]; \
          }
-         
+
          /** @brief Add quaternions at `b' and `c', store result at `a'.
          */
          #define QADD2(a, b, c) { \
@@ -20648,7 +20648,7 @@
          (a)[Z] = (b)[Z] + (c)[Z]; \
          (a)[W] = (b)[W] + (c)[W]; \
          }
-         
+
          /**
          * @brief Subtract quaternion at `c' from quaternion at `b', store
          * result at `a'.
@@ -20659,7 +20659,7 @@
          (a)[Z] = (b)[Z] - (c)[Z]; \
          (a)[W] = (b)[W] - (c)[W]; \
          }
-         
+
          /**
          * @brief Scale quaternion at `b' by scalar `c', store result at
          * `a'.
@@ -20670,7 +20670,7 @@
          (a)[Z] = (b)[Z] * (c); \
          (a)[W] = (b)[W] * (c); \
          }
-         
+
          /** @brief Normalize quaternion 'a' to be a unit quaternion. */
          #define QUNITIZE(a) { \
          register double _f; \
@@ -20678,21 +20678,21 @@
          if (_f < VDIVIDE_TOL) _f = 0.0; else _f = 1.0/_f; \
          (a)[X] *= _f; (a)[Y] *= _f; (a)[Z] *= _f; (a)[W] *= _f; \
          }
-         
+
          /** @brief Return scalar magnitude squared of quaternion at `a'.
          */
          #define QMAGSQ(a) \
          ((a)[X]*(a)[X] + (a)[Y]*(a)[Y] \
          + (a)[Z]*(a)[Z] + (a)[W]*(a)[W])
-         
+
          /** @brief Return scalar magnitude of quaternion at `a'. */
          #define QMAGNITUDE(a) sqrt(QMAGSQ(a))
-         
+
          /** @brief Compute dot product of quaternions at `a' and `b'. */
          #define QDOT(a, b) \
          ((a)[X]*(b)[X] + (a)[Y]*(b)[Y] \
          + (a)[Z]*(b)[Z] + (a)[W]*(b)[W])
-         
+
          /**
          * @brief Compute quaternion product a = b * c
          *
@@ -20710,7 +20710,7 @@
          (a)[Z] = (b)[W]*(c)[Z] + (b)[Z]*(c)[W] + (b)[X]*(c)[Y] -
          (b)[Y]*(c)[X]; \
          }
-         
+
          /** @brief Conjugate quaternion */
          #define QCONJUGATE(a, b) { \
          (a)[X] = -(b)[X]; \
@@ -20718,7 +20718,7 @@
          (a)[Z] = -(b)[Z]; \
          (a)[W] = (b)[W]; \
          }
-         
+
          /** @brief Multiplicative inverse quaternion */
          #define QINVERSE(a, b) { \
          register double _f = QMAGSQ(b); \
@@ -20728,7 +20728,7 @@
          (a)[Z] = -(b)[Z] * _f; \
          (a)[W] = (b)[W] * _f; \
          }
-         
+
          /**
          * @brief Blend into quaternion `a'
          *
@@ -20741,7 +20741,7 @@
          (a)[Z] = (b) * (c)[Z] + (d) * (e)[Z]; \
          (a)[W] = (b) * (c)[W] + (d) * (e)[W]; \
          }
-         
+
          /**
          * Macros for dealing with 3-D "extents", aka bounding boxes, that
          are
@@ -20750,7 +20750,7 @@
          * stored as two points: a min point, and a max point. RPP 1 is
          * defined by lo1, hi1, RPP 2 by lo2, hi2.
          */
-         
+
          /**
          * Compare two bounding boxes and return true if they are
          disjoint.
@@ -20760,7 +20760,7 @@
          (_h2)[Z] || \
          (_l2)[X] > (_h1)[X] || (_l2)[Y] > (_h1)[Y] || (_l2)[Z] >
          (_h1)[Z])
-         
+
          /**
          * Compare two bounding boxes and return true if they are disjoint
          * by at least distance tolerance.
@@ -20772,7 +20772,7 @@
          (_l2)[X] > (_h1)[X] + (_t) || \
          (_l2)[Y] > (_h1)[Y] + (_t) || \
          (_l2)[Z] > (_h1)[Z] + (_t))
-         
+
          /** Compare two bounding boxes and return true If they overlap.
          */
          #define V3RPP_OVERLAP(_l1, _h1, _l2, _h2) \
@@ -20780,7 +20780,7 @@
          (_h2)[Z] || \
          (_l2)[X] > (_h1)[X] || (_l2)[Y] > (_h1)[Y] || (_l2)[Z] >
          (_h1)[Z]))
-         
+
          /**
          * @brief If two extents overlap within distance tolerance, return
          * true.
@@ -20792,7 +20792,7 @@
          (_l2)[X] > (_h1)[X] + (_t) || \
          (_l2)[Y] > (_h1)[Y] + (_t) || \
          (_l2)[Z] > (_h1)[Z] + (_t)))
-         
+
          /**
          * @brief Is the point within or on the boundary of the RPP?
          *
@@ -20802,7 +20802,7 @@
          (_pt)[X] >= (_lo)[X] && (_pt)[X] <= (_hi)[X] && \
          (_pt)[Y] >= (_lo)[Y] && (_pt)[Y] <= (_hi)[Y] && \
          (_pt)[Z] >= (_lo)[Z] && (_pt)[Z] <= (_hi)[Z])
-         
+
          /**
          * @brief Within the distance tolerance, is the point within the
          RPP?
@@ -20813,7 +20813,7 @@
          (_pt)[X] >= (_lo)[X]-(_t) && (_pt)[X] <= (_hi)[X]+(_t) && \
          (_pt)[Y] >= (_lo)[Y]-(_t) && (_pt)[Y] <= (_hi)[Y]+(_t) && \
          (_pt)[Z] >= (_lo)[Z]-(_t) && (_pt)[Z] <= (_hi)[Z]+(_t))
-         
+
          /**
          * @brief Is the point outside the RPP by at least the distance
          tolerance?
@@ -20823,7 +20823,7 @@
          (_pt)[X] < (_lo)[X]-(_t) || (_pt)[X] > (_hi)[X]+(_t) || \
          (_pt)[Y] < (_lo)[Y]-(_t) || (_pt)[Y] > (_hi)[Y]+(_t) || \
          (_pt)[Z] < (_lo)[Z]-(_t) || (_pt)[Z] > (_hi)[Z]+(_t))
-         
+
          /**
          * @brief Determine if one bounding box is within another. Also
          * returns true if the boxes are the same.
@@ -20834,7 +20834,7 @@
          (_lo1)[X] >= (_lo2)[X] && (_hi1)[X] <= (_hi2)[X] && \
          (_lo1)[Y] >= (_lo2)[Y] && (_hi1)[Y] <= (_hi2)[Y] && \
          (_lo1)[Z] >= (_lo2)[Z] && (_hi1)[Z] <= (_hi2)[Z])
-         
+
          /** Convert an azimuth/elevation to a direction vector. */
          #define V3DIR_FROM_AZEL(_d, _a, _e) { \
          register fastf_t _c_e = cos(_e); \
@@ -20842,7 +20842,7 @@
          (_d)[Y] = sin(_a) * _c_e; \
          (_d)[Z] = sin(_e); \
          }
-         
+
          /** Convert a direction vector to azimuth/elevation (in radians).
          */
          #define AZEL_FROM_V3DIR(_a, _e, _d) { \
@@ -20852,10 +20852,10 @@
          (_e) = atan2(-((_d)[Z]), sqrt((_d)[X]*(_d)[X] + (_d)[Y]*(_d)[Y]))
          * -RAD2DEG; \
          }
-         
+
          /*** Macros suitable for declaration statement initialization.
          ***/
-         
+
          /**
          * 3D vector macro suitable for declaration statement
          initialization.
@@ -20865,7 +20865,7 @@
          * statement.
          */
          #define VINITALL(_v) {(_v), (_v), (_v)}
-         
+
          /**
          * 2D vector macro suitable for declaration statement
          initialization.
@@ -20874,7 +20874,7 @@
          * instead of as a statement.
          */
          #define V2INITALL(_v) {(_v), (_v), (_v)}
-         
+
          /**
          * 4D homogeneous vector macro suitable for declaration statement
          * initialization. this sets all vector elements to the specified
@@ -20882,7 +20882,7 @@
          * array declaration instead of as a statement.
          */
          #define HINITALL(_v) {(_v), (_v), (_v), (_v)}
-         
+
          /**
          * 3D vector macro suitable for declaration statement
          initialization.
@@ -20892,7 +20892,7 @@
          * a statement.
          */
          #define VINIT_ZERO {0.0, 0.0, 0.0}
-         
+
          /**
          * 2D vector macro suitable for declaration statement
          initialization.
@@ -20902,7 +20902,7 @@
          * a statement.
          */
          #define V2INIT_ZERO {0.0, 0.0}
-         
+
          /**
          * 4D homogeneous vector macro suitable for declaration statement
          * initialization. this sets all vector elements to zero similar
@@ -20911,7 +20911,7 @@
          * declaration instead of as a statement.
          */
          #define HINIT_ZERO {0.0, 0.0, 0.0, 0.0}
-         
+
          /**
          * matrix macro suitable for declaration statement initialization.
          * this sets up an identity matrix similar to calling MAT_IDN but
@@ -20920,7 +20920,7 @@
          */
          #define MAT_INIT_IDN {1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0,
          0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0}
-         
+
          /**
          * matrix macro suitable for declaration statement initialization.
          * this sets up a zero matrix similar to calling MAT_ZERO but as
@@ -20929,11 +20929,11 @@
          */
          #define MAT_INIT_ZERO {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
          0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}
-         
+
          __END_DECLS
-         
+
          #endif /* __VMATH_H__ */
-         
+
          /** @} */
          /*
          * Local Variables:
@@ -29055,8 +29055,8 @@
        * [r52699] doc/html/manuals/mged/ged.html:
          fix spellings, remove 1 embedded blank, change ie to i.e., change
          eg to e.g.)
-         
 
+
 2012-10-02 20:38  carlmoore
 
        * [r52698] src/tclscripts/lib/Command.tcl:

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to