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