Revision: 34080
          http://brlcad.svn.sourceforge.net/brlcad/?rev=34080&view=rev
Author:   ralith
Date:     2009-03-26 06:37:24 +0000 (Thu, 26 Mar 2009)

Log Message:
-----------
Removed another redundant vecmath.h from burst, replacing uses with vmath.h 
macros.

Modified Paths:
--------------
    brlcad/trunk/src/burst/Makefile.am
    brlcad/trunk/src/burst/grid.c
    brlcad/trunk/src/burst/paint.c
    brlcad/trunk/src/burst/plot.c
    brlcad/trunk/src/burst/prnt.c

Removed Paths:
-------------
    brlcad/trunk/src/burst/vecmath.h

Modified: brlcad/trunk/src/burst/Makefile.am
===================================================================
--- brlcad/trunk/src/burst/Makefile.am  2009-03-26 05:39:16 UTC (rev 34079)
+++ brlcad/trunk/src/burst/Makefile.am  2009-03-26 06:37:24 UTC (rev 34080)
@@ -33,8 +33,7 @@
        Hm.h \
        Mm.h \
        Sc.h \
-       trie.h \
-       vecmath.h
+       trie.h
 
 EXTRA_DIST = burst.format
 

Modified: brlcad/trunk/src/burst/grid.c
===================================================================
--- brlcad/trunk/src/burst/grid.c       2009-03-26 05:39:16 UTC (rev 34079)
+++ brlcad/trunk/src/burst/grid.c       2009-03-26 06:37:24 UTC (rev 34080)
@@ -37,12 +37,19 @@
 #include "fb.h"
 #include "plot3.h"
 
-#include "./vecmath.h"
 #include "./ascii.h"
 #include "./extern.h"
 
 #define DEBUG_GRID     0
 #define DEBUG_SHOT     1
+#ifndef        EPSILON
+#define EPSILON                0.000001
+#endif
+#define FABS(a)                ((a) > 0 ? (a) : -(a))
+#define AproxEq(a,b,e) (FABS((a)-(b)) < (e))
+#define AproxEqVec(A,B,e) ( AproxEq((A)[X], (B)[X], (e)) && \
+                           AproxEq((A)[Y], (B)[Y], (e)) &&     \
+                           AproxEq((A)[Z], (B)[Z], (e)) )
 
 /* local communication with multitasking process */
 static int currshot;   /* current shot index */
@@ -152,7 +159,7 @@
 {
     boolean                    status = 1;
     noverlaps = 0;
-    CopyVec(ag.a_ray.r_dir, viewdir); /* XXX -- could be done up in
+    VMOVE(ag.a_ray.r_dir, viewdir); /* XXX -- could be done up in
                                         gridModel() */
     for (; ! userinterrupt; view_pix(&ag))
     {
@@ -594,7 +601,7 @@
                if (bp == PT_NULL && bdist > 0.0)
                {
                    bp = pp;    /* register exterior burst */
-                   CopyVec(burstnorm, exitnorm);
+                   VMOVE(burstnorm, exitnorm);
                }
 
                /* If there is a void, output 01 air as space. */
@@ -610,7 +617,7 @@
                    {
                        /* Bursting on armor/void (ouchh). */
                        bp = pp;
-                       CopyVec(burstnorm, exitnorm);
+                       VMOVE(burstnorm, exitnorm);
                    }
                    prntSeg(ap, pp, OUTSIDE_AIR,
                            entrynorm, exitnorm, pp == bp);
@@ -632,7 +639,7 @@
                            )
                        {
                            bp = pp; /* register interior burst */
-                           CopyVec(burstnorm, exitnorm);
+                           VMOVE(burstnorm, exitnorm);
                        }
                        prntSeg(ap, pp, nregp->reg_aircode,
                                entrynorm, exitnorm, pp == bp);
@@ -750,7 +757,7 @@
                       ap->a_ray.r_dir);
            }
            else          /* Interior burst point: no fuzing offset. */
-               CopyVec(burstpt, bp->pt_outhit->hit_point);
+               VMOVE(burstpt, bp->pt_outhit->hit_point);
 
        /* Only generate burst rays if nspallrays is greater then
           zero. */
@@ -797,8 +804,8 @@
     boolean ret = 1;
     totalct++;
     /* Dot product of ray direction with normal *should* be negative. */
-    f = Dot(rayp->r_dir, normvec);
-    if (NearZero(f))
+    f = VDOT(rayp->r_dir, normvec);
+    if (NEAR_ZERO(f, EPSILON))
     {
 #ifdef DEBUG
        brst_log("chkEntryNorm: near 90 degree obliquity.\n");
@@ -828,7 +835,7 @@
                 pp->pt_inhit->hit_point[Z]);
        brst_log("\t%d of %d normals flipped.\n", flipct, totalct);
 #endif
-       ScaleVec(normvec, -1.0);
+       VSCALE(normvec, normvec, -1.0);
        ret = 0;
     }
     return ret;
@@ -848,8 +855,8 @@
     boolean ret = 1;
     totalct++;
     /* Dot product of ray direction with normal *should* be positive. */
-    f = Dot(rayp->r_dir, normvec);
-    if (NearZero(f))
+    f = VDOT(rayp->r_dir, normvec);
+    if (NEAR_ZERO(f, EPSILON))
     {
 #ifdef DEBUG
        brst_log("chkExitNorm: near 90 degree obliquity.\n");
@@ -879,7 +886,7 @@
                 pp->pt_outhit->hit_point[Z]);
        brst_log("\t%d of %d normals flipped.\n", flipct, totalct);
 #endif
-       ScaleVec(normvec, -1.0);
+       VSCALE(normvec, normvec, -1.0);
        ret = 0;
     }
     return ret;
@@ -1001,14 +1008,14 @@
            }
        }
        else    /* Single shot specified. */
-           CopyVec(vec, fire);
+           VMOVE(vec, fire);
        if (TSTBIT(firemode, FM_3DIM))
        {
            fastf_t     hitpoint[3];
            /* Project 3-d hit-point back into grid space. */
-           CopyVec(hitpoint, vec);
-           vec[X] = Dot(gridhor, hitpoint);
-           vec[Y] = Dot(gridver, hitpoint);
+           VMOVE(hitpoint, vec);
+           vec[X] = VDOT(gridhor, hitpoint);
+           vec[Y] = VDOT(gridver, hitpoint);
        }
        ap->a_x = vec[X] / cellsz;
        ap->a_y = vec[Y] / cellsz;
@@ -1043,10 +1050,10 @@
     }
     /* Compute cell horizontal and vertical    vectors relative to
        grid origin. */
-    Scale2Vec(gridhor, scalecx, gridxinc);
-    Scale2Vec(gridver, scalecy, gridyinc);
-    Add2Vec(gridsoff, gridyinc, ap->a_ray.r_pt);
-    AddVec(ap->a_ray.r_pt, gridxinc);
+    VSCALE(gridxinc, gridhor, scalecx);
+    VSCALE(gridyinc, gridver, scalecy);
+    VADD2( ap->a_ray.r_pt,gridsoff, gridyinc);
+    VADD2(ap->a_ray.r_pt, ap->a_ray.r_pt, gridxinc);
     return     1;
 }
 
@@ -1108,9 +1115,9 @@
        brst_log("gridInit: canting warhead\n");
 #endif
        cantwarhead = 1;
-       Scale2Vec(gridhor,  negsinyaw, xdeltavec);
-       Scale2Vec(gridver,  sinpitch,  ydeltavec);
-       Add2Vec(xdeltavec, ydeltavec, cantdelta);
+       VSCALE(xdeltavec, gridhor, negsinyaw);
+       VSCALE(ydeltavec, gridver, sinpitch);
+       VADD2( cantdelta,xdeltavec, ydeltavec);
     }
 
     /* unit vector from origin of model toward eye */
@@ -1133,18 +1140,18 @@
        if (groundburst)
        {
            /* extend grid to include ground platform */
-           modelmax[X] = Max(rtip->mdl_max[X], grndfr);
-           modelmin[X] = Min(rtip->mdl_min[X], -grndbk);
-           modelmax[Y] = Max(rtip->mdl_max[Y], grndlf);
-           modelmin[Y] = Min(rtip->mdl_min[Y], -grndrt);
+           modelmax[X] = FMAX(rtip->mdl_max[X], grndfr);
+           modelmin[X] = FMIN(rtip->mdl_min[X], -grndbk);
+           modelmax[Y] = FMAX(rtip->mdl_max[Y], grndlf);
+           modelmin[Y] = FMIN(rtip->mdl_min[Y], -grndrt);
            modelmax[Z] = rtip->mdl_max[Z];
-           modelmin[Z] = Min(rtip->mdl_min[Z], -grndht);
+           modelmin[Z] = FMIN(rtip->mdl_min[Z], -grndht);
        }
        else
        {
            /* size grid by model RPP */
-           CopyVec(modelmin, rtip->mdl_min);
-           CopyVec(modelmax, rtip->mdl_max);
+           VMOVE(modelmin, rtip->mdl_min);
+           VMOVE(modelmax, rtip->mdl_max);
        }
        /* Calculate extent of grid. */
        gridrt = max(   gridhor[X] * modelmax[X],
@@ -1265,13 +1272,13 @@
     /* determine largest grid dimension for frame buffer display */
     gridwidth  = gridxfin - gridxorg + 1;
     gridheight = gridyfin - gridyorg + 1;
-    gridsz = Max(gridwidth, gridheight);
+    gridsz = FMAX(gridwidth, gridheight);
 
     /* vector to grid origin from model origin */
-    Scale2Vec(viewdir, standoff, gridsoff);
+    VSCALE(gridsoff, viewdir, standoff);
 
     /* direction of grid rays */
-    ScaleVec(viewdir, -1.0);
+    VSCALE(viewdir, viewdir, -1.0);
 
     prntTimer("grid");
     notify(NULL, NOTIFY_DELETE);
@@ -1364,7 +1371,7 @@
            break;
        currshot++;
        prntFiringCoords(a.a_uvec);
-       CopyVec(a.a_ray.r_dir, viewdir);
+       VMOVE(a.a_ray.r_dir, viewdir);
        a.a_level = 0;   /* initialize recursion level */
        plotGrid(a.a_ray.r_pt);
        if (rt_shootray(&a) == -1 && fatalerror)
@@ -1403,7 +1410,7 @@
     fastf_t surfnorm[3];
 {
     Colors  *colorp;
-    fastf_t intensity = -Dot(viewdir, surfnorm);
+    fastf_t intensity = -VDOT(viewdir, surfnorm);
     if (intensity < 0.0)
        intensity = -intensity;
 
@@ -1420,7 +1427,7 @@
        ap->a_color[RED] =
            ap->a_color[GRN] =
            ap->a_color[BLU] = 1.0;
-    ScaleVec(ap->a_color, intensity);
+    VSCALE(ap->a_color, ap->a_color, intensity);
     ap->a_cumlen = hitp->hit_dist;
 }
 
@@ -1434,7 +1441,7 @@
 max(a, b)
     fastf_t    a, b;
 {
-    return     Max(a, b);
+    return     FMAX(a, b);
 }
 
 /*
@@ -1447,7 +1454,7 @@
 min(a, b)
     fastf_t    a, b;
 {
-    return     Min(a, b);
+    return     FMIN(a, b);
 }
 
 /*
@@ -1612,7 +1619,7 @@
        fastf_t sinphi = sin(phi);
        fastf_t gammaval, gammainc, gammalast;
        int m;
-       sinphi = Abs(sinphi);
+       sinphi = FABS(sinphi);
        m = (TWO_PI * sinphi)/delta + 1;
        gammainc = TWO_PI / m;
        gammalast = TWO_PI-gammainc+EPSILON;
@@ -1658,8 +1665,8 @@
        axis. */
     if (cantwarhead)
     {
-       AddVec(a_burst.a_ray.r_dir, cantdelta);
-       V_Length(a_burst.a_ray.r_dir, 1.0);
+       VADD2(a_burst.a_ray.r_dir, a_burst.a_ray.r_dir, cantdelta);
+       VUNITIZE(a_burst.a_ray.r_dir)
     }
     /* If a deflected cone is specified (the default) the spall cone
        axis is half way between the main penetrator axis and exit
@@ -1667,10 +1674,10 @@
     */
     if (deflectcone)
     {
-       AddVec(a_burst.a_ray.r_dir, normal);
-       V_Length(a_burst.a_ray.r_dir, 1.0);
+       VADD2(a_burst.a_ray.r_dir, a_burst.a_ray.r_dir, normal);
+       VUNITIZE(a_burst.a_ray.r_dir)
     }
-    CopyVec(a_burst.a_ray.r_pt, bpt);
+    VMOVE(a_burst.a_ray.r_pt, bpt);
 
     comphi = 0.0; /* Initialize global for concurrent access. */
 
@@ -1702,7 +1709,7 @@
        if (done)
            break;
        sinphi = sin(phi);
-       sinphi = Abs(sinphi);
+       sinphi = FABS(sinphi);
        m = (TWO_PI * sinphi)/delta + 1;
        gammainc = TWO_PI / m;
        gammalast = TWO_PI - gammainc + EPSILON;
@@ -1763,18 +1770,18 @@
                ||      AproxEqVec(dvec, negzaxis, VEC_TOL)
        )
     {
-       CopyVec(evec, xaxis);
+       VMOVE(evec, xaxis);
     }
     else
     {
-       CrossProd(dvec, zaxis, evec);
+       VCROSS(evec, dvec, zaxis);
     }
-    CrossProd(evec, dvec, fvec);
-    Scale2Vec(dvec, cosphi, cosdphi);
+    VCROSS(fvec, evec, dvec);
+    VSCALE(cosdphi,dvec, cosphi);
     ssgaphi = singamma * sinphi;
     csgaphi = cosgamma * sinphi;
     VJOIN2(s_rdir, cosdphi, ssgaphi, evec, csgaphi, fvec);
-    V_Length(s_rdir, 1.0); /* unitize */
+    VUNITIZE(s_rdir);
     return;
 }
 

Modified: brlcad/trunk/src/burst/paint.c
===================================================================
--- brlcad/trunk/src/burst/paint.c      2009-03-26 05:39:16 UTC (rev 34079)
+++ brlcad/trunk/src/burst/paint.c      2009-03-26 06:37:24 UTC (rev 34080)
@@ -33,7 +33,6 @@
 #include "raytrace.h"
 #include "fb.h"
 
-#include "./vecmath.h"
 #include "./extern.h"
 
 
@@ -191,8 +190,8 @@
     CenterCell( x );   /* center of cell */
     CenterCell( y );
     celldist = ap->a_cumlen/cellsz * zoom;
-    x = roundToInt( x + Dot( ap->a_ray.r_dir, gridhor ) * celldist );
-    y = roundToInt( y + Dot( ap->a_ray.r_dir, gridver ) * celldist );
+    x = roundToInt( x + VDOT( ap->a_ray.r_dir, gridhor ) * celldist );
+    y = roundToInt( y + VDOT( ap->a_ray.r_dir, gridver ) * celldist );
     bu_semaphore_acquire( RT_SEM_STATS );
     err = fb_write( fbiop, x, y, pixel, 1 );
     bu_semaphore_release( RT_SEM_STATS );

Modified: brlcad/trunk/src/burst/plot.c
===================================================================
--- brlcad/trunk/src/burst/plot.c       2009-03-26 05:39:16 UTC (rev 34079)
+++ brlcad/trunk/src/burst/plot.c       2009-03-26 06:37:24 UTC (rev 34080)
@@ -34,7 +34,6 @@
 #include "raytrace.h"
 #include "plot3.h"
 
-#include "./vecmath.h"
 #include "./burst.h"
 #include "./extern.h"
 

Modified: brlcad/trunk/src/burst/prnt.c
===================================================================
--- brlcad/trunk/src/burst/prnt.c       2009-03-26 05:39:16 UTC (rev 34079)
+++ brlcad/trunk/src/burst/prnt.c       2009-03-26 06:37:24 UTC (rev 34080)
@@ -40,7 +40,6 @@
 
 #include "./Sc.h"
 #include "./ascii.h"
-#include "./vecmath.h"
 #include "./extern.h"
 
 
@@ -48,6 +47,9 @@
 
 #define PHANTOM_ARMOR  111
 
+#define FABS(a)                ((a) > 0 ? (a) : -(a))
+#define AproxEq(a,b,e) (FABS((a)-(b)) < (e))
+
 static fastf_t getNormThickness();
 
 int
@@ -88,8 +90,8 @@
 {
     brst_log("Couldn't compute thickness or exit point %s.\n",
             "along normal direction");
-    V_Print("\tpnt", ap->a_ray.r_pt, brst_log);
-    V_Print("\tdir", ap->a_ray.r_dir, brst_log);
+    brst_log("\tpnt\t<%12.6f,%12.6f,%12.6f>\n", ap->a_ray.r_pt, brst_log);
+    brst_log("\tdir\t<%12.6f,%12.6f,%12.6f>\n", ap->a_ray.r_dir, brst_log);
     ap->a_rbeam = 0.0;
     return     0;
 }
@@ -267,9 +269,9 @@
     fastf_t vec[3];
     /* Transform burst point (model coordinate system) into the shotline
        coordinate system. */
-    vec[Y] = Dot(gridhor, bpt);        /* Y' */
-    vec[Z] = Dot(gridver, bpt);        /* Z' */
-    vec[X] = -Dot(shotdir, bpt);       /* X' - shotdir is reverse of X' */
+    vec[Y] = VDOT(gridhor, bpt);       /* Y' */
+    vec[Z] = VDOT(gridver, bpt);       /* Z' */
+    vec[X] = -VDOT(shotdir, bpt);      /* X' - shotdir is reverse of X' */
 
     if (       outfile[0] != NUL
                &&      fprintf(outfp,
@@ -381,10 +383,10 @@
     fastf_t sinfbangle;        /* sine of fall back angle */
 
     /* This *should* give negative of desired result. */
-    icosobliquity = Dot(ap->a_ray.r_dir, entrynorm);
+    icosobliquity = VDOT(ap->a_ray.r_dir, entrynorm);
     icosobliquity = -icosobliquity;
 
-    ocosobliquity = Dot(ap->a_ray.r_dir, exitnorm);
+    ocosobliquity = VDOT(ap->a_ray.r_dir, exitnorm);
 
     if (NEAR_ZERO(exitnorm[Y], VDIVIDE_TOL) && NEAR_ZERO(exitnorm[X], 
VDIVIDE_TOL))
        rotangle = 0.0;
@@ -397,7 +399,7 @@
     }
     /* Compute sine of fallback angle.  NB: the Air Force measures the
        fallback angle from the horizontal (X-Y) plane. */
-    sinfbangle = Dot(exitnorm, zaxis);
+    sinfbangle = VDOT(exitnorm, zaxis);
 
     los = (cpp->pt_outhit->hit_dist-cpp->pt_inhit->hit_dist)*unitconv;
 #ifdef VDEBUG
@@ -492,13 +494,13 @@
     fastf_t sinelev; /* sine of ray elevation */
     if (outfile[0] == NUL)
        return;
-    cosxr = -Dot(shotdir, raydir); /* shotdir is reverse of X' */
-    cosyr = Dot(gridhor, raydir);
+    cosxr = -VDOT(shotdir, raydir); /* shotdir is reverse of X' */
+    cosyr = VDOT(gridhor, raydir);
     if (NEAR_ZERO(cosyr, VDIVIDE_TOL) && NEAR_ZERO(cosxr, VDIVIDE_TOL))
        azim = 0.0;
     else
        azim = atan2(cosyr, cosxr);
-    sinelev = Dot(gridver, raydir);
+    sinelev = VDOT(gridver, raydir);
     if (       fprintf(outfp,
                        "%c %8.3f %8.3f %6u\n",
                        PB_RAY_HEADER,
@@ -559,7 +561,7 @@
 
 
     /* calculate cosine of obliquity angle */
-    cosobliquity = Dot(ap->a_ray.r_dir, entrynorm);
+    cosobliquity = VDOT(ap->a_ray.r_dir, entrynorm);
     cosobliquity = -cosobliquity;
 #if DEBUG
     if (cosobliquity - COS_TOL > 1.0)
@@ -654,8 +656,8 @@
        a_thick.a_level++;
        a_thick.a_user = regp->reg_regionid;
        a_thick.a_purpose = "normal thickness";
-       CopyVec(a_thick.a_ray.r_pt, ihitp->hit_point);
-       Scale2Vec(normvec, -1.0, a_thick.a_ray.r_dir);
+       VMOVE(a_thick.a_ray.r_pt, ihitp->hit_point);
+       VSCALE( a_thick.a_ray.r_dir,normvec, -1.0);
        if (rt_shootray(&a_thick) == -1 && fatalerror)
        {
            /* Fatal error in application routine. */

Deleted: brlcad/trunk/src/burst/vecmath.h
===================================================================
--- brlcad/trunk/src/burst/vecmath.h    2009-03-26 05:39:16 UTC (rev 34079)
+++ brlcad/trunk/src/burst/vecmath.h    2009-03-26 06:37:24 UTC (rev 34080)
@@ -1,125 +0,0 @@
-/*                       V E C M A T H . H
- * BRL-CAD
- *
- * Copyright (c) 2004-2009 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- *
- */
-/** @file vecmath.h
- *     Author:         Gary S. Moss
- */
-
-#include "common.h"
-#include <math.h>
-
-#ifndef Abs
-#  define Abs( a )             ((a) > 0 ? (a) : -(a))
-#endif
-
-#define AbsDotProd( A, B )     (Abs( Dot( A, B ) ))
-#define AddVec( A, B )        { (A)[X] += (B)[X]; \
-                               (A)[Y] += (B)[Y]; \
-                               (A)[Z] += (B)[Z]; }
-#define Add2Vec( A, B, C )    { (C)[X] = (A)[X]+(B)[X]; \
-                               (C)[Y] = (A)[Y]+(B)[Y]; \
-                               (C)[Z] = (A)[Z]+(B)[Z]; }
-#define AproxEq( a, b, e )     (Abs( (a)-(b) ) < (e))
-#define AproxEqVec( A, B, e ) ( AproxEq((A)[X], (B)[X], (e)) && \
-                               AproxEq((A)[Y], (B)[Y], (e)) && \
-                               AproxEq((A)[Z], (B)[Z], (e)) )
-#define CopyVec( A, B )              { (A)[X] = (B)[X]; \
-                               (A)[Y] = (B)[Y]; \
-                               (A)[Z] = (B)[Z]; }
-#define CrossProd( A, B, C )  {        (C)[X] = (A)[Y]*(B)[Z]-(A)[Z]*(B)[Y]; \
-                               (C)[Y] = (A)[Z]*(B)[X]-(A)[X]*(B)[Z]; \
-                               (C)[Z] = (A)[X]*(B)[Y]-(A)[Y]*(B)[X]; }
-#define DEGRAD 57.2957795130823208767981548141051703324054724665642
-
-/* degrees per radian */
-#define DiffVec( A, B )       { (A)[X] -= (B)[X]; \
-                               (A)[Y] -= (B)[Y]; \
-                               (A)[Z] -= (B)[Z]; }
-#define Diff2Vec( A, B, C )   { (C)[X] = (A)[X]-(B)[X]; \
-                               (C)[Y] = (A)[Y]-(B)[Y]; \
-                               (C)[Z] = (A)[Z]-(B)[Z]; }
-#define Dist3d( A, B )         (sqrt(  Sqr((A)[X]-(B)[X])+\
-                                       Sqr((A)[Y]-(B)[Y])+\
-                                       Sqr((A)[Z]-(B)[Z]))\
-                               )
-#define DivideVec( A, S )     { (A)[X] /= (S); \
-                               (A)[Y] /= (S); \
-                               (A)[Z] /= (S); }
-#define Dot( A, B )            ((A)[X]*(B)[X]+(A)[Y]*(B)[Y]+(A)[Z]*(B)[Z])
-#ifndef        EPSILON
-#define EPSILON        0.000001
-#endif
-#define Expand_Vec_Int( V )    (int)(V)[X], (int)(V)[Y], (int)(V)[Z]
-#define LOG10E 0.43429448190325182765112891891660508229439700580367
-/* log of e to the base 10 */
-#define Mag( A )               sqrt( AbsDotProd(A, A) )
-#define Mag3(a1, a2, a3)               (sqrt(Sqr(a1)+Sqr(a2)+Sqr(a3)))
-#ifndef Min
-#define Min( a, b )            ((a) < (b) ? (a) : (b))
-#define Max( a, b )            ((a) > (b) ? (a) : (b))
-#endif
-#define MinMax( m, M, a )    { m = Min( m, a ); M = Max( M, a ); }
-#define MinMaxVec( A, B, C ) { (A)[X] = Min( (A)[X], (C)[X] ); \
-                              (A)[Y] = Min( (A)[Y], (C)[Y] ); \
-                              (A)[Z] = Min( (A)[Z], (C)[Z] ); \
-                              (B)[X] = Max( (B)[X], (C)[X] ); \
-                              (B)[Y] = Max( (B)[Y], (C)[Y] ); \
-                              (B)[Z] = Max( (B)[Z], (C)[Z] ); }
-#define NearZero( a )          ((a) < EPSILON && (a) > -EPSILON)
-#define NonZeroVec( V )        (!NearZero((V)[X]) || !NearZero((V)[Y])|| 
!NearZero((V)[Z]))
-#ifndef PI
-#define PI     3.14159265358979323846264338327950288419716939937511
-#endif
-/* ratio of circumf. to diam. */
-#define RelDist3d( A, B )      (Sqr((A)[X]-(B)[X])+\
-                                Sqr((A)[Y]-(B)[Y])+\
-                                Sqr((A)[Z]-(B)[Z]))
-#define ScaleVec( A, s )      { (A)[X] *= (s); \
-                               (A)[Y] *= (s); \
-                               (A)[Z] *= (s); }
-#define Scale2Vec( A, s, B )   { (B)[X] = (A)[X] * (s); \
-                               (B)[Y] = (A)[Y] * (s); \
-                               (B)[Z] = (A)[Z] * (s); }
-#define Sqr(a)                 ((a)*(a))
-#define TWO_PI         6.28318530717958647692528676655900576839433879875022
-/* Scale vector 'a' to have magnitude 'l'.                             */
-#define V_Length( a, l ) { \
-       double f, m; \
-       m = Mag(a); \
-       if (NEAR_ZERO(m, VDIVIDE_TOL)) \
-               brst_log( "Magnitude is zero!\n" ); \
-       else { \
-               f = (l)/m; \
-               (a)[X] *= f; (a)[Y] *= f; (a)[Z] *= f; \
-       } \
-}
-
-#define V_Print(a, b, func) \
-               func( "%s\t<%12.6f,%12.6f,%12.6f>\n", a, (b)[0], (b)[1], (b)[2] 
)
-
-/*
- * Local Variables:
- * mode: C
- * tab-width: 8
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */


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

------------------------------------------------------------------------------
_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to