Revision: 69034
          http://sourceforge.net/p/brlcad/code/69034
Author:   starseeker
Date:     2016-10-12 11:46:13 +0000 (Wed, 12 Oct 2016)
Log Message:
-----------
rt_in_rpp is rather deep in the core raytracing routines... back out the 
change, need to examine its use in nmg logic more closely to see if this is the 
right approach to resolving that issue.

Modified Paths:
--------------
    brlcad/trunk/CHANGES
    brlcad/trunk/include/bg/CMakeLists.txt
    brlcad/trunk/include/bg/defines.h
    brlcad/trunk/include/bg.h
    brlcad/trunk/include/raytrace.h
    brlcad/trunk/include/rt/calc.h
    brlcad/trunk/include/rt/xray.h
    brlcad/trunk/src/conv/bot_shell-vtk.c
    brlcad/trunk/src/lgt/octree.c
    brlcad/trunk/src/libbg/util.c
    brlcad/trunk/src/libbn/plane.c
    brlcad/trunk/src/libged/bigE.c
    brlcad/trunk/src/liboptical/sh_grass.c
    brlcad/trunk/src/librt/bbox.c
    brlcad/trunk/src/librt/bundle.c
    brlcad/trunk/src/librt/primitives/bot/bot.c
    brlcad/trunk/src/librt/primitives/bspline/bspline.cpp
    brlcad/trunk/src/librt/primitives/ebm/ebm.c
    brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c
    brlcad/trunk/src/librt/primitives/nmg/nmg_rt_isect.c
    brlcad/trunk/src/librt/primitives/pipe/pipe.c
    brlcad/trunk/src/librt/primitives/vol/vol.c
    brlcad/trunk/src/librt/shoot.c
    brlcad/trunk/src/librt/vshoot.c

Removed Paths:
-------------
    brlcad/trunk/include/bg/util.h

Modified: brlcad/trunk/CHANGES
===================================================================
--- brlcad/trunk/CHANGES        2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/CHANGES        2016-10-12 11:46:13 UTC (rev 69034)
@@ -1293,5 +1293,3 @@
         rename old nurbs functions intertwined with nmg to use nmg prefix 
[7.26]
 s/RTG.NMG_debug/nmg_debug/g
        make nmg debug flag top level, like libbu's [7.26]
-s/rt_in_rpp/bg_ray_in_rpp/g
-       move rt_in_rpp into libbg [7.26]

Modified: brlcad/trunk/include/bg/CMakeLists.txt
===================================================================
--- brlcad/trunk/include/bg/CMakeLists.txt      2016-10-12 01:01:44 UTC (rev 
69033)
+++ brlcad/trunk/include/bg/CMakeLists.txt      2016-10-12 11:46:13 UTC (rev 
69034)
@@ -5,7 +5,6 @@
   polygon.h
   tri_ray.h
   tri_tri.h
-  util.h
   )
 
 install(FILES ${bg_headers} DESTINATION ${INCLUDE_DIR}/brlcad/bg)

Modified: brlcad/trunk/include/bg/defines.h
===================================================================
--- brlcad/trunk/include/bg/defines.h   2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/include/bg/defines.h   2016-10-12 11:46:13 UTC (rev 69034)
@@ -30,7 +30,6 @@
 #define BG_DEFINES_H
 
 #include "common.h"
-#include "vmath.h"
 
 #ifndef BG_EXPORT
 #  if defined(BG_DLL_EXPORTS) && defined(BG_DLL_IMPORTS)
@@ -48,24 +47,6 @@
 #define BG_CW 1
 #define BG_CCW -1
 
-__BEGIN_DECLS
-
-/**
- * @brief Primary ray data structure
- *
- * Not called just "ray" to prevent conflicts with VLD stuff.
- */
-struct xray {
-    uint32_t            magic;
-    int                 index;          /**< @brief Which ray of a bundle */
-    point_t             r_pt;           /**< @brief Point at which ray starts 
*/
-    vect_t              r_dir;          /**< @brief Direction of ray (UNIT 
Length) */
-    fastf_t             r_min;          /**< @brief entry dist to bounding 
sphere */
-    fastf_t             r_max;          /**< @brief exit dist from bounding 
sphere */
-};
-
-__END_DECLS
-
 #endif  /* BG_DEFINES_H */
 /** @} */
 /*

Deleted: brlcad/trunk/include/bg/util.h
===================================================================
--- brlcad/trunk/include/bg/util.h      2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/include/bg/util.h      2016-10-12 11:46:13 UTC (rev 69034)
@@ -1,75 +0,0 @@
-/*                        U T I L . H
- * BRL-CAD
- *
- * Copyright (c) 2004-2016 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This library 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 library 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 util.h */
-/** @addtogroup bg/util */
-/** @{ */
-
-#ifndef BG_UTIL_H
-#define BG_UTIL_H
-
-#include "common.h"
-#include "vmath.h"
-#include "bg/defines.h"
-
-__BEGIN_DECLS
-
-/**
- * Compute the intersections of a ray with a rectangular
- * parallelepiped (RPP) that has faces parallel to the coordinate
- * planes
- *
- * The algorithm here was developed by Gary Kuehl for GIFT.  A good
- * description of the approach used can be found in "??" by XYZZY and
- * Barsky, ACM Transactions on Graphics, Vol 3 No 1, January 1984.
- *
- * Note: The computation of entry and exit distance is mandatory, as
- * the final test catches the majority of misses.
- *
- * Note: A hit is returned if the intersect is behind the start point.
- *
- * Returns -
- * 0 if ray does not hit RPP,
- * !0 if ray hits RPP.
- *
- * Implicit return -
- * rp->r_min = dist from start of ray to point at which ray ENTERS solid
- * rp->r_max = dist from start of ray to point at which ray LEAVES solid
- */
-BG_EXPORT extern int bg_ray_in_rpp(struct xray *rp,
-                               const fastf_t *invdir,
-                               const fastf_t *min,
-                               const fastf_t *max);
-
-
-__END_DECLS
-
-#endif  /* BG_UTIL_H */
-/** @} */
-/*
- * Local Variables:
- * mode: C
- * tab-width: 8
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */

Modified: brlcad/trunk/include/bg.h
===================================================================
--- brlcad/trunk/include/bg.h   2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/include/bg.h   2016-10-12 11:46:13 UTC (rev 69034)
@@ -55,7 +55,6 @@
 #include "bg/polygon.h"
 #include "bg/tri_ray.h"
 #include "bg/tri_tri.h"
-#include "bg/util.h"
 
 #endif /* BG_H */
 

Modified: brlcad/trunk/include/raytrace.h
===================================================================
--- brlcad/trunk/include/raytrace.h     2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/include/raytrace.h     2016-10-12 11:46:13 UTC (rev 69034)
@@ -58,7 +58,6 @@
 #include "bu/str.h"
 #include "bu/vls.h"
 #include "bn.h"
-#include "bg.h" /* bg_ray_in_rpp - should be pushed into C files */
 #include "./rt/db5.h"
 #include "nmg.h"
 #include "pc.h"

Modified: brlcad/trunk/include/rt/calc.h
===================================================================
--- brlcad/trunk/include/rt/calc.h      2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/include/rt/calc.h      2016-10-12 11:46:13 UTC (rev 69034)
@@ -55,6 +55,32 @@
                                    fastf_t *min_rpp,
                                    fastf_t *max_rpp);
 
+/**
+ * Compute the intersections of a ray with a rectangular
+ * parallelepiped (RPP) that has faces parallel to the coordinate
+ * planes
+ *
+ * The algorithm here was developed by Gary Kuehl for GIFT.  A good
+ * description of the approach used can be found in "??" by XYZZY and
+ * Barsky, ACM Transactions on Graphics, Vol 3 No 1, January 1984.
+ *
+ * Note: The computation of entry and exit distance is mandatory, as
+ * the final test catches the majority of misses.
+ *
+ * Note: A hit is returned if the intersect is behind the start point.
+ *
+ * Returns -
+ * 0 if ray does not hit RPP,
+ * !0 if ray hits RPP.
+ *
+ * Implicit return -
+ * rp->r_min = dist from start of ray to point at which ray ENTERS solid
+ * rp->r_max = dist from start of ray to point at which ray LEAVES solid
+ */
+RT_EXPORT extern int rt_in_rpp(struct xray *rp,
+                               const fastf_t *invdir,
+                               const fastf_t *min,
+                               const fastf_t *max);
 
 /* Find the bounding box given a struct rt_db_internal : bbox.c */
 

Modified: brlcad/trunk/include/rt/xray.h
===================================================================
--- brlcad/trunk/include/rt/xray.h      2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/include/rt/xray.h      2016-10-12 11:46:13 UTC (rev 69034)
@@ -28,10 +28,23 @@
 
 #include "common.h"
 #include "vmath.h"
-#include "bg/defines.h"
 
 __BEGIN_DECLS
 #define CORNER_PTS 4
+
+/**
+ * @brief Primary ray data structure
+ *
+ * Not called just "ray" to prevent conflicts with VLD stuff.
+ */
+struct xray {
+    uint32_t            magic;
+    int                 index;          /**< @brief Which ray of a bundle */
+    point_t             r_pt;           /**< @brief Point at which ray starts 
*/
+    vect_t              r_dir;          /**< @brief Direction of ray (UNIT 
Length) */
+    fastf_t             r_min;          /**< @brief entry dist to bounding 
sphere */
+    fastf_t             r_max;          /**< @brief exit dist from bounding 
sphere */
+};
 #define RAY_NULL        ((struct xray *)0)
 #define RT_CK_RAY(_p) BU_CKMAG(_p, RT_RAY_MAGIC, "struct xray");
 

Modified: brlcad/trunk/src/conv/bot_shell-vtk.c
===================================================================
--- brlcad/trunk/src/conv/bot_shell-vtk.c       2016-10-12 01:01:44 UTC (rev 
69033)
+++ brlcad/trunk/src/conv/bot_shell-vtk.c       2016-10-12 11:46:13 UTC (rev 
69034)
@@ -548,7 +548,7 @@
                VSCALE(ap.a_ray.r_pt, sum, 1.0/3.0);
                VREVERSE(ap.a_ray.r_dir, tri->tri_N);
                VINVDIR(inv_dir, ap.a_ray.r_dir);
-               if (bg_ray_in_rpp(&ap.a_ray, inv_dir, rtip->mdl_min, 
rtip->mdl_max) == 0) {
+               if (rt_in_rpp(&ap.a_ray, inv_dir, rtip->mdl_min, rtip->mdl_max) 
== 0) {
                    tri = tri->tri_forw;
                    continue;
                }

Modified: brlcad/trunk/src/lgt/octree.c
===================================================================
--- brlcad/trunk/src/lgt/octree.c       2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/lgt/octree.c       2016-10-12 11:46:13 UTC (rev 69034)
@@ -371,7 +371,7 @@
        octnt_max[X] = op->o_points->c_point[X] + delta;
        octnt_max[Y] = op->o_points->c_point[Y] + delta;
        octnt_max[Z] = op->o_points->c_point[Z] + delta;
-       if (bg_ray_in_rpp(&ap->a_ray, inv_dir, octnt_min, octnt_max)) {
+       if (rt_in_rpp(&ap->a_ray, inv_dir, octnt_min, octnt_max)) {
            /* Hit octant.                              */
            if (op->o_child == OCTREE_NULL) {
                /* We are at a leaf node.               */

Modified: brlcad/trunk/src/libbg/util.c
===================================================================
--- brlcad/trunk/src/libbg/util.c       2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/libbg/util.c       2016-10-12 11:46:13 UTC (rev 69034)
@@ -23,10 +23,7 @@
 #include "vmath.h"
 #include "bn/plane.h"
 #include "bn/tol.h"
-#include "bg/defines.h"
-#include "bg/util.h"
 
-
 /* TODO - need routines for 2D and 3D point sets that check for degeneracy - 
(dimension < 2 for a 2D
  * set, dimension < 3 for a 3D set.  Probably want to use Eigen's matrix 
routines and a rank check:
  * 
https://en.wikipedia.org/wiki/Coplanarity#Coplanarity_of_points_whose_coordinates_are_given
@@ -178,109 +175,7 @@
     return 0;
 }
 
-/* Copyright (c) 1990-2016 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This library 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 library 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.
- */
 
-int
-bg_ray_in_rpp(struct xray *rp,
-          register const fastf_t *invdir,       /* inverses of rp->r_dir[] */
-          register const fastf_t *min,
-          register const fastf_t *max)
-{
-    register const fastf_t *pt = &rp->r_pt[0];
-    register fastf_t sv;
-#define st sv                   /* reuse the register */
-    register fastf_t rmin = -MAX_FASTF;
-    register fastf_t rmax =  MAX_FASTF;
-
-    /* Start with infinite ray, and trim it down */
-
-    /* X axis */
-    if (*invdir < -SMALL_FASTF) {
-        /* Heading towards smaller numbers */
-        /* if (*min > *pt) miss */
-        if (rmax > (sv = (*min - *pt) * *invdir))
-            rmax = sv; 
-        if (rmin < (st = (*max - *pt) * *invdir))
-            rmin = st;
-    }  else if (*invdir > SMALL_FASTF) {
-        /* Heading towards larger numbers */
-        /* if (*max < *pt) miss */
-        if (rmax > (st = (*max - *pt) * *invdir))
-            rmax = st;
-        if (rmin < ((sv = (*min - *pt) * *invdir)))
-            rmin = sv;
-    } else {
-        /*
-         * Direction cosines along this axis is NEAR 0,
-         * which implies that the ray is perpendicular to the axis,
-         * so merely check position against the boundaries.
-         */
-        if ((*min > *pt) || (*max < *pt))
-            return 0;   /* MISS */
-    }
-
-    /* Y axis */
-    pt++; invdir++; max++; min++;
-    if (*invdir < -SMALL_FASTF) {
-        if (rmax > (sv = (*min - *pt) * *invdir))
-            rmax = sv;
-        if (rmin < (st = (*max - *pt) * *invdir))
-            rmin = st;
-    }  else if (*invdir > SMALL_FASTF) {
-        if (rmax > (st = (*max - *pt) * *invdir))
-            rmax = st;
-        if (rmin < ((sv = (*min - *pt) * *invdir)))
-            rmin = sv;
-    } else {
-        if ((*min > *pt) || (*max < *pt))
-            return 0;   /* MISS */
-    }
-
-    /* Z axis */
-    pt++; invdir++; max++; min++;
-    if (*invdir < -SMALL_FASTF) {
-        if (rmax > (sv = (*min - *pt) * *invdir))
-            rmax = sv;
-        if (rmin < (st = (*max - *pt) * *invdir))
-            rmin = st;
-    }  else if (*invdir > SMALL_FASTF) {
-        if (rmax > (st = (*max - *pt) * *invdir))
-            rmax = st;
-        if (rmin < ((sv = (*min - *pt) * *invdir)))
-            rmin = sv;
-    } else {
-        if ((*min > *pt) || (*max < *pt))
-            return 0;   /* MISS */
-    }
-
-    /* If equal, RPP is actually a plane */
-    if (rmin > rmax)
-        return 0;       /* MISS */
-
-    /* HIT.  Only now do rp->r_min and rp->r_max have to be written */
-    rp->r_min = rmin;
-    rp->r_max = rmax;
-    return 1;           /* HIT */
-}
-
-
-
-
 /*
  * Local Variables:
  * mode: C

Modified: brlcad/trunk/src/libbn/plane.c
===================================================================
--- brlcad/trunk/src/libbn/plane.c      2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/libbn/plane.c      2016-10-12 11:46:13 UTC (rev 69034)
@@ -2450,7 +2450,7 @@
  * Intersect a line segment with a rectangular parallelepiped (RPP)
  * that has faces parallel to the coordinate planes (a clipping RPP).
  * The RPP is defined by a minimum point and a maximum point.  This is
- * a very close relative to bg_ray_in_rpp() from librt/shoot.c
+ * a very close relative to rt_in_rpp() from librt/shoot.c
  *
  * @return 0   if ray does not hit RPP,
  * @return !0  if ray hits RPP.

Modified: brlcad/trunk/src/libged/bigE.c
===================================================================
--- brlcad/trunk/src/libged/bigE.c      2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/libged/bigE.c      2016-10-12 11:46:13 UTC (rev 69034)
@@ -1265,7 +1265,7 @@
        /* actually shoot the ray, assign segments to the leaf, and
         * mark them as IN_SOL.
         */
-       if (bg_ray_in_rpp(&rp, rd.rd_invdir, shoot->l.stp->st_min, 
shoot->l.stp->st_max)) {
+       if (rt_in_rpp(&rp, rd.rd_invdir, shoot->l.stp->st_min, 
shoot->l.stp->st_max)) {
            if (OBJ[shoot->l.stp->st_id].ft_shot && 
OBJ[shoot->l.stp->st_id].ft_shot(shoot->l.stp, &rp, dgcdp->ap, rd.seghead)) {
                struct seg *seg;
 

Modified: brlcad/trunk/src/liboptical/sh_grass.c
===================================================================
--- brlcad/trunk/src/liboptical/sh_grass.c      2016-10-12 01:01:44 UTC (rev 
69033)
+++ brlcad/trunk/src/liboptical/sh_grass.c      2016-10-12 11:46:13 UTC (rev 
69034)
@@ -799,7 +799,7 @@
     }
 
     r->r.r_min = r->r.r_max = 0.0;
-    if (! bg_ray_in_rpp(&r->r, r->rev, pl->pmin, pl->pmax)) {
+    if (! rt_in_rpp(&r->r, r->rev, pl->pmin, pl->pmax)) {
        if (rdebug&RDEBUG_SHADE) {
            point_t in_pt, out_pt;
            bu_log("min:%g max:%g\n", r->r.r_min, r->r.r_max);

Modified: brlcad/trunk/src/librt/bbox.c
===================================================================
--- brlcad/trunk/src/librt/bbox.c       2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/librt/bbox.c       2016-10-12 11:46:13 UTC (rev 69034)
@@ -157,6 +157,91 @@
     return 1;
 }
 
+
+int
+rt_in_rpp(struct xray *rp,
+         register const fastf_t *invdir,       /* inverses of rp->r_dir[] */
+         register const fastf_t *min,
+         register const fastf_t *max)
+{
+    register const fastf_t *pt = &rp->r_pt[0];
+    register fastf_t sv;
+#define st sv                  /* reuse the register */
+    register fastf_t rmin = -MAX_FASTF;
+    register fastf_t rmax =  MAX_FASTF;
+
+    /* Start with infinite ray, and trim it down */
+
+    /* X axis */
+    if (*invdir < -SMALL_FASTF) {
+       /* Heading towards smaller numbers */
+       /* if (*min > *pt) miss */
+       if (rmax > (sv = (*min - *pt) * *invdir))
+           rmax = sv;
+       if (rmin < (st = (*max - *pt) * *invdir))
+           rmin = st;
+    }  else if (*invdir > SMALL_FASTF) {
+       /* Heading towards larger numbers */
+       /* if (*max < *pt) miss */
+       if (rmax > (st = (*max - *pt) * *invdir))
+           rmax = st;
+       if (rmin < ((sv = (*min - *pt) * *invdir)))
+           rmin = sv;
+    } else {
+       /*
+        * Direction cosines along this axis is NEAR 0,
+        * which implies that the ray is perpendicular to the axis,
+        * so merely check position against the boundaries.
+        */
+       if ((*min > *pt) || (*max < *pt))
+           return 0;   /* MISS */
+    }
+
+    /* Y axis */
+    pt++; invdir++; max++; min++;
+    if (*invdir < -SMALL_FASTF) {
+       if (rmax > (sv = (*min - *pt) * *invdir))
+           rmax = sv;
+       if (rmin < (st = (*max - *pt) * *invdir))
+           rmin = st;
+    }  else if (*invdir > SMALL_FASTF) {
+       if (rmax > (st = (*max - *pt) * *invdir))
+           rmax = st;
+       if (rmin < ((sv = (*min - *pt) * *invdir)))
+           rmin = sv;
+    } else {
+       if ((*min > *pt) || (*max < *pt))
+           return 0;   /* MISS */
+    }
+
+    /* Z axis */
+    pt++; invdir++; max++; min++;
+    if (*invdir < -SMALL_FASTF) {
+       if (rmax > (sv = (*min - *pt) * *invdir))
+           rmax = sv;
+       if (rmin < (st = (*max - *pt) * *invdir))
+           rmin = st;
+    }  else if (*invdir > SMALL_FASTF) {
+       if (rmax > (st = (*max - *pt) * *invdir))
+           rmax = st;
+       if (rmin < ((sv = (*min - *pt) * *invdir)))
+           rmin = sv;
+    } else {
+       if ((*min > *pt) || (*max < *pt))
+           return 0;   /* MISS */
+    }
+
+    /* If equal, RPP is actually a plane */
+    if (rmin > rmax)
+       return 0;       /* MISS */
+
+    /* HIT.  Only now do rp->r_min and rp->r_max have to be written */
+    rp->r_min = rmin;
+    rp->r_max = rmax;
+    return 1;          /* HIT */
+}
+
+
 /**
  * Traverse the passed tree using rt_db_internals to show the way
  * This function supports rt_bound_internal and is internal to librt

Modified: brlcad/trunk/src/librt/bundle.c
===================================================================
--- brlcad/trunk/src/librt/bundle.c     2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/librt/bundle.c     2016-10-12 11:46:13 UTC (rev 69034)
@@ -222,7 +222,7 @@
      * If ray does not enter the model RPP, skip on.
      * If ray ends exactly at the model RPP, trace it.
      */
-    if (!bg_ray_in_rpp(&ap->a_ray, ss.inv_dir, rtip->mdl_min, rtip->mdl_max)  
||
+    if (!rt_in_rpp(&ap->a_ray, ss.inv_dir, rtip->mdl_min, rtip->mdl_max)  ||
        ap->a_ray.r_max < 0.0) {
        resp->re_nmiss_model++;
        if (ap->a_miss)
@@ -326,7 +326,7 @@
 
                /* Check against bounding RPP, if desired by solid */
                if (OBJ[stp->st_id].ft_use_rpp) {
-                   if (!bg_ray_in_rpp(&ss2_newray, ss.inv_dir,
+                   if (!rt_in_rpp(&ss2_newray, ss.inv_dir,
                                   stp->st_min, stp->st_max)) {
                        if (debug_shoot)bu_log("rpp miss %s by ray %d\n", 
stp->st_name, ray);
                        resp->re_prune_solrpp++;

Modified: brlcad/trunk/src/librt/primitives/bot/bot.c
===================================================================
--- brlcad/trunk/src/librt/primitives/bot/bot.c 2016-10-12 01:01:44 UTC (rev 
69033)
+++ brlcad/trunk/src/librt/primitives/bot/bot.c 2016-10-12 11:46:13 UTC (rev 
69034)
@@ -4124,7 +4124,7 @@
                inv_dir[Z] = INFINITY;
            }
 
-           if (!bg_ray_in_rpp(&ap.a_ray, inv_dir, rtip->mdl_min, 
rtip->mdl_max)) {
+           if (!rt_in_rpp(&ap.a_ray, inv_dir, rtip->mdl_min, rtip->mdl_max)) {
                /* ray missed!!! */
                bu_log("ERROR: Ray missed target!!!!\n");
            }

Modified: brlcad/trunk/src/librt/primitives/bspline/bspline.cpp
===================================================================
--- brlcad/trunk/src/librt/primitives/bspline/bspline.cpp       2016-10-12 
01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/librt/primitives/bspline/bspline.cpp       2016-10-12 
11:46:13 UTC (rev 69034)
@@ -383,7 +383,7 @@
        struct nmg_nurb_uv_hit *hp;
 
        for (BU_LIST_FOR (s, face_g_snurb, &nurb->bez_hd)) {
-           if (!bg_ray_in_rpp(rp, invdir, s->min_pt, s->max_pt))
+           if (!rt_in_rpp(rp, invdir, s->min_pt, s->max_pt))
                continue;
 
 #define UV_TOL 1.0e-6  /* Paper says 1.0e-4 is reasonable for 1k images, not 
close up */

Modified: brlcad/trunk/src/librt/primitives/ebm/ebm.c
===================================================================
--- brlcad/trunk/src/librt/primitives/ebm/ebm.c 2016-10-12 01:01:44 UTC (rev 
69033)
+++ brlcad/trunk/src/librt/primitives/ebm/ebm.c 2016-10-12 11:46:13 UTC (rev 
69034)
@@ -282,7 +282,7 @@
 
     /* intersect ray with ideal grid rpp */
     VSETALL(P, 0);
-    if (! bg_ray_in_rpp(rp, invdir, P, ebmp->ebm_large))
+    if (! rt_in_rpp(rp, invdir, P, ebmp->ebm_large))
        return 0;       /* MISS */
 
     VJOIN1(P, rp->r_pt, rp->r_min, rp->r_dir);

Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c
===================================================================
--- brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c   2016-10-12 01:01:44 UTC 
(rev 69033)
+++ brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c   2016-10-12 11:46:13 UTC 
(rev 69034)
@@ -63,10 +63,11 @@
 #include "bn/mat.h"
 #include "bn/plane.h"
 #include "bn/plot3.h"
-#include "bg/util.h"
 #include "nmg.h"
 #include "rt/nmg.h"
+#include "raytrace.h" /* for rt/calc.h - rt_in_rpp */
 
+
 #define ISECT_NONE 0
 #define ISECT_SHARED_V 1
 #define ISECT_SPLIT1 2
@@ -2038,7 +2039,7 @@
     VINVDIR(invdir, line.r_dir);
 
     /* nmg_loop_g() makes sure there are no 0-thickness faces */
-    if (!bg_ray_in_rpp(&line, invdir, fu2->f_p->min_pt, fu2->f_p->max_pt)) {
+    if (!rt_in_rpp(&line, invdir, fu2->f_p->min_pt, fu2->f_p->max_pt)) {
        /* The edge ray missed the face RPP, nothing to do. */
        if (nmg_debug & DEBUG_POLYSECT) {
            VPRINT("r_pt ", line.r_pt);

Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_rt_isect.c
===================================================================
--- brlcad/trunk/src/librt/primitives/nmg/nmg_rt_isect.c        2016-10-12 
01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/librt/primitives/nmg/nmg_rt_isect.c        2016-10-12 
11:46:13 UTC (rev 69034)
@@ -1906,7 +1906,7 @@
                bu_log("isect_ray_snurb_face: using planes (%g %g %g %g) (%g %g 
%g %g)\n",
                       V4ARGS(pl1), V4ARGS(pl2));
            (void)nmg_nurb_s_bound(srf, srf_min, srf_max);
-           if (!bg_ray_in_rpp(rd->rp, rd->rd_invdir, srf_min, srf_max)) {
+           if (!rt_in_rpp(rd->rp, rd->rd_invdir, srf_min, srf_max)) {
                nmg_nurb_free_snurb(srf, rd->ap->a_resource);
                continue;
            }
@@ -2284,7 +2284,7 @@
 
        VMOVE(rd->plane_pt, hit_pt);
        rd->ray_dist_to_plane = dist;
-    } else if (!bg_ray_in_rpp(rd->rp, rd->rd_invdir,
+    } else if (!rt_in_rpp(rd->rp, rd->rd_invdir,
                          fu_p->f_p->min_pt, fu_p->f_p->max_pt)) {
        NMG_GET_HITMISS(myhit, rd->ap);
        NMG_INDEX_ASSIGN(rd->hitmiss, fu_p->f_p, myhit);
@@ -2331,7 +2331,7 @@
      * is no need to record the miss for the shell, as there is only
      * one "use" of a shell.
      */
-    if (!bg_ray_in_rpp(rd->rp, rd->rd_invdir,
+    if (!rt_in_rpp(rd->rp, rd->rd_invdir,
                   s_p->sa_p->min_pt, s_p->sa_p->max_pt)) {
        if (nmg_debug & DEBUG_RT_ISECT)
            bu_log("nmg_isect_ray_shell(no RPP overlap) %p, %p\n", (void *)rd, 
(void *)s_p);
@@ -2383,7 +2383,7 @@
        NMG_CK_REGION_A(r_p->ra_p);
 
        /* does ray intersect nmgregion rpp? */
-       if (! bg_ray_in_rpp(rd->rp, rd->rd_invdir,
+       if (! rt_in_rpp(rd->rp, rd->rd_invdir,
                        r_p->ra_p->min_pt, r_p->ra_p->max_pt))
            continue;
 

Modified: brlcad/trunk/src/librt/primitives/pipe/pipe.c
===================================================================
--- brlcad/trunk/src/librt/primitives/pipe/pipe.c       2016-10-12 01:01:44 UTC 
(rev 69033)
+++ brlcad/trunk/src/librt/primitives/pipe/pipe.c       2016-10-12 11:46:13 UTC 
(rev 69034)
@@ -1703,7 +1703,7 @@
 
        if (!pipe_id->pipe_is_bend) {
            struct lin_pipe *lin = (struct lin_pipe *)pipe_id;
-           if (!bg_ray_in_rpp(rp, ap->a_inv_dir, lin->pipe_min, 
lin->pipe_max)) {
+           if (!rt_in_rpp(rp, ap->a_inv_dir, lin->pipe_min, lin->pipe_max)) {
                continue;
            }
            linear_pipe_shot(stp, rp, lin, hits, &total_hits, seg_no);

Modified: brlcad/trunk/src/librt/primitives/vol/vol.c
===================================================================
--- brlcad/trunk/src/librt/primitives/vol/vol.c 2016-10-12 01:01:44 UTC (rev 
69033)
+++ brlcad/trunk/src/librt/primitives/vol/vol.c 2016-10-12 11:46:13 UTC (rev 
69034)
@@ -164,7 +164,7 @@
 
     /* intersect ray with ideal grid rpp */
     VSETALL(P, 0);
-    if (! bg_ray_in_rpp(rp, invdir, P, volp->vol_large))
+    if (! rt_in_rpp(rp, invdir, P, volp->vol_large))
        return 0;       /* MISS */
     VJOIN1(P, rp->r_pt, rp->r_min, rp->r_dir); /* P is hit point */
     if (RT_G_DEBUG&DEBUG_VOL)VPRINT("vol_large", volp->vol_large);

Modified: brlcad/trunk/src/librt/shoot.c
===================================================================
--- brlcad/trunk/src/librt/shoot.c      2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/librt/shoot.c      2016-10-12 11:46:13 UTC (rev 69034)
@@ -572,7 +572,7 @@
                ssp->newray.r_pt[X] = px;
                ssp->newray.r_pt[Y] = py;
                ssp->newray.r_pt[Z] = pz;
-               if (!bg_ray_in_rpp(&ssp->newray, ssp->inv_dir,
+               if (!rt_in_rpp(&ssp->newray, ssp->inv_dir,
                               cutp->bn.bn_min,
                               cutp->bn.bn_max)) {
                    bu_log("rt_advance_to_next_cell():  MISSED BOX\nrmin, 
rmax(%.20e, %.20e) box(%.20e, %.20e)\n",
@@ -690,7 +690,7 @@
 
        /* we are now at the box node for the current point */
        /* check if the ray intersects this box */
-       if (!bg_ray_in_rpp(&ray, ss->inv_dir, cutp->bn.bn_min, 
cutp->bn.bn_max)) {
+       if (!rt_in_rpp(&ray, ss->inv_dir, cutp->bn.bn_min, cutp->bn.bn_max)) {
            /* ray does not intersect this cell
             * one of two situations must exist:
             * 1. ray starts outside model bounding box (no need for these 
calculations)
@@ -709,7 +709,7 @@
 
            if (BU_BITTEST(solidbits, plp->stp->st_bit) == 0) {
                /* we haven't looked at this primitive before */
-               if (bg_ray_in_rpp(&ray, ss->inv_dir, plp->stp->st_min, 
plp->stp->st_max)) {
+               if (rt_in_rpp(&ray, ss->inv_dir, plp->stp->st_min, 
plp->stp->st_max)) {
                    /* ray intersects this primitive bounding box */
 
                    if (ray.r_min < BACKING_DIST) {
@@ -1022,7 +1022,7 @@
      * If ray does not enter the model RPP, skip on.  If ray ends
      * exactly at the model RPP, trace it.
      */
-    if (!bg_ray_in_rpp(&ap->a_ray, ss.inv_dir, rtip->mdl_min, rtip->mdl_max)  
||
+    if (!rt_in_rpp(&ap->a_ray, ss.inv_dir, rtip->mdl_min, rtip->mdl_max)  ||
        ap->a_ray.r_max < 0.0) {
        cutp = &ap->a_rt_i->rti_inf_box;
        if (cutp->bn.bn_len > 0) {
@@ -1216,7 +1216,7 @@
                    /* Compute ray entry and exit to entire solid's
                     * bounding box.
                     */
-                   if (!bg_ray_in_rpp(&ss.newray, ss.inv_dir,
+                   if (!rt_in_rpp(&ss.newray, ss.inv_dir,
                                   stp->st_min, stp->st_max)) {
                        if (debug_shoot)bu_log("rpp miss %s (all pieces)\n", 
stp->st_name);
                        resp->re_prune_solrpp++;
@@ -1299,7 +1299,7 @@
 
                /* Check against bounding RPP, if desired by solid */
                if (stp->st_meth->ft_use_rpp) {
-                   if (!bg_ray_in_rpp(&ss.newray, ss.inv_dir,
+                   if (!rt_in_rpp(&ss.newray, ss.inv_dir,
                                   stp->st_min, stp->st_max)) {
                        if (debug_shoot)bu_log("rpp miss %s\n", stp->st_name);
                        resp->re_prune_solrpp++;
@@ -1667,7 +1667,7 @@
      * If ray does not enter the model RPP, skip on.
      * If ray ends exactly at the model RPP, trace it.
      */
-    if (!bg_ray_in_rpp(&ap->a_ray, ss.inv_dir, rtip->mdl_min, rtip->mdl_max)  
||
+    if (!rt_in_rpp(&ap->a_ray, ss.inv_dir, rtip->mdl_min, rtip->mdl_max)  ||
        ap->a_ray.r_max < 0.0) {
        cutp = &ap->a_rt_i->rti_inf_box;
        if (cutp->bn.bn_len > 0) {

Modified: brlcad/trunk/src/librt/vshoot.c
===================================================================
--- brlcad/trunk/src/librt/vshoot.c     2016-10-12 01:01:44 UTC (rev 69033)
+++ brlcad/trunk/src/librt/vshoot.c     2016-10-12 11:46:13 UTC (rev 69034)
@@ -210,7 +210,7 @@
      * If ray does not enter the model RPP, skip on.
      * If ray ends exactly at the model RPP, trace it.
      */
-    if (!bg_ray_in_rpp(&ap->a_ray, inv_dir, rtip->mdl_min, rtip->mdl_max)  ||
+    if (!rt_in_rpp(&ap->a_ray, inv_dir, rtip->mdl_min, rtip->mdl_max)  ||
        ap->a_ray.r_max < 0.0) {
        rtip->nmiss_model++;
        if (ap->a_miss)

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


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to