Revision: 74305
          http://sourceforge.net/p/brlcad/code/74305
Author:   starseeker
Date:     2019-11-06 14:43:32 +0000 (Wed, 06 Nov 2019)
Log Message:
-----------
Validation test was too generous - boxes may overlap without containing the 
actual point in question.

Modified Paths:
--------------
    brlcad/trunk/src/libbrep/RTree.h
    brlcad/trunk/src/libbrep/cdt_ovlps.cpp

Modified: brlcad/trunk/src/libbrep/RTree.h
===================================================================
--- brlcad/trunk/src/libbrep/RTree.h    2019-11-06 08:50:44 UTC (rev 74304)
+++ brlcad/trunk/src/libbrep/RTree.h    2019-11-06 14:43:32 UTC (rev 74305)
@@ -449,6 +449,9 @@
     ON_3dPoint p2(a_rect->m_max[0], a_rect->m_max[1], a_rect->m_max[2]);
     ON_BoundingBox bb(p1, p2);
     FILE *p = fopen(fname, "w");
+    struct bu_color c = BU_COLOR_INIT_ZERO;
+    bu_color_rand(&c, BU_COLOR_RANDOM_LIGHTENED);
+    pl_color_buc(p, &c);
     RECT_BBOX_PLOT(p, bb);
     fclose(p);
 }

Modified: brlcad/trunk/src/libbrep/cdt_ovlps.cpp
===================================================================
--- brlcad/trunk/src/libbrep/cdt_ovlps.cpp      2019-11-06 08:50:44 UTC (rev 
74304)
+++ brlcad/trunk/src/libbrep/cdt_ovlps.cpp      2019-11-06 14:43:32 UTC (rev 
74305)
@@ -331,13 +331,13 @@
        if (vp.DistanceTo(problem) < 0.1) {
            std::cout << "Looking for trouble...\n";
        }
-       std::set<overt_t *> search_verts = vert_search(ov->bb);
-       if (!search_verts.size()) {
-           std::cout << "Error: no nearby verts for vert " << v_ind << "??\n";
+       std::set<overt_t *> search_vert_bb = vert_search(ov->bb);
+       if (!search_vert_bb.size()) {
+           std::cout << "Error: no nearby verts for vert bb " << v_ind << 
"??\n";
            return false;
        }
-       if (search_verts.find(ov) == search_verts.end()) {
-           std::cout << "Error: vert in tree, but search couldn't find: " << 
v_ind << "\n";
+       if (search_vert_bb.find(ov) == search_vert_bb.end()) {
+           std::cout << "Error: vert in tree, but bb search couldn't find: " 
<< v_ind << "\n";
            std::set<overt_t *> s2 = vert_search(ov->bb);
            if (s2.find(ov) == s2.end()) {
                std::cout << "Second try didn't work: " << v_ind << "\n";
@@ -344,6 +344,14 @@
            }
            return false;
        }
+
+       ON_BoundingBox pbb(vp, vp);
+       std::set<overt_t *> search_vert = vert_search(pbb);
+       if (!search_vert.size()) {
+           std::cout << "Error: vert point not contained by tree box?? " << 
v_ind << "??\n";
+           return false;
+       }
+
        ++tree_it;
     }
     return true;

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



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to