Revision: 52511
          http://brlcad.svn.sourceforge.net/brlcad/?rev=52511&view=rev
Author:   r_weiss
Date:     2012-09-20 22:33:23 +0000 (Thu, 20 Sep 2012)
Log Message:
-----------
Updates to functions "nmg_crackshells" and "nmg_isect_two_generic_faces" within 
file "nmg_inter.c". Changed the macro comparing the face bounding boxes so that 
the face bounding boxes must be at least distance tolerance apart to be 
excluded from further testing instead of not overlapping by at least distance 
tolerance. This prevents missing intersections of faces where they are axis 
aligned and the face bounding boxes are less than distance tolerance apart.

Modified Paths:
--------------
    brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c

Modified: brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c
===================================================================
--- brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c   2012-09-20 21:59:41 UTC 
(rev 52510)
+++ brlcad/trunk/src/librt/primitives/nmg/nmg_inter.c   2012-09-20 22:33:23 UTC 
(rev 52511)
@@ -6980,7 +6980,7 @@
        status = (-1);
     }
 
-    if (!V3RPP_OVERLAP_TOL(f2->min_pt, f2->max_pt,
+    if (V3RPP_DISJOINT_TOL(f2->min_pt, f2->max_pt,
                           f1->min_pt, f1->max_pt, bs.tol.dist)) {
        return;
     }
@@ -7470,8 +7470,8 @@
        nmg_ck_vs_in_region(s2->r_p, tol);
     }
 
-    /* test if shell s1 and s2 overlap by at least distance tolerance */
-    if (!V3RPP_OVERLAP_TOL(sa1->min_pt, sa1->max_pt, sa2->min_pt, sa2->max_pt, 
tol->dist)) {
+    /* test if shell s1 and s2 disjoint by at least distance tolerance */
+    if (V3RPP_DISJOINT_TOL(sa1->min_pt, sa1->max_pt, sa2->min_pt, sa2->max_pt, 
tol->dist)) {
        return;
     }
 
@@ -7526,9 +7526,9 @@
        NMG_CK_FACE_G_PLANE(f1->g.plane_p);
 
        /* test if the face f1 bounding box and isect bounding box
-        * by at least distance tolerance
+        * are disjoint by at least distance tolerance
         */
-       if (!V3RPP_OVERLAP_TOL(f1->min_pt, f1->max_pt, isect_min_pt, 
isect_max_pt, tol->dist)) {
+       if (V3RPP_DISJOINT_TOL(f1->min_pt, f1->max_pt, isect_min_pt, 
isect_max_pt, tol->dist)) {
            NMG_INDEX_SET(flags, f1);
            continue;
        }
@@ -7558,9 +7558,9 @@
            if (NMG_INDEX_IS_SET(flags, f2)) continue;
 
            /* test if the face f2 bounding box and isect bounding box
-            * overlap by at least distance tolerance
+            * are disjoint by at least distance tolerance
             */
-           if (!V3RPP_OVERLAP_TOL(f2->min_pt, f2->max_pt, isect_min_pt, 
isect_max_pt, tol->dist)) {
+           if (V3RPP_DISJOINT_TOL(f2->min_pt, f2->max_pt, isect_min_pt, 
isect_max_pt, tol->dist)) {
                NMG_INDEX_SET(flags, f2);
                continue;
            }

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


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to