Revision: 74189
http://sourceforge.net/p/brlcad/code/74189
Author: starseeker
Date: 2019-10-19 19:03:37 +0000 (Sat, 19 Oct 2019)
Log Message:
-----------
Remove the edge from all three containers, add some comments.
Modified Paths:
--------------
brlcad/trunk/src/libbrep/cdt_ovlps.cpp
Modified: brlcad/trunk/src/libbrep/cdt_ovlps.cpp
===================================================================
--- brlcad/trunk/src/libbrep/cdt_ovlps.cpp 2019-10-19 18:58:51 UTC (rev
74188)
+++ brlcad/trunk/src/libbrep/cdt_ovlps.cpp 2019-10-19 19:03:37 UTC (rev
74189)
@@ -212,7 +212,7 @@
omesh = om;
p_id = p;
closest_uedge = -1;
- assigned = false;
+ t_ind = -1;
update();
}
@@ -224,7 +224,7 @@
ON_BoundingBox bb;
long closest_uedge;
- bool assigned;
+ bool t_ind;
void update();
private:
double v_min_edge_len;
@@ -646,6 +646,8 @@
if (update_verts) {
overts[ue.v[0]].update();
overts[ue.v[1]].update();
+ // Anything close to the new edges needs to assess if this edge is
closer
+ // than the previously selected one
std::set<size_t> nearby_verts = overts_search(ebb);
std::set<size_t>::iterator n_it;
for (n_it = nearby_verts.begin(); n_it != nearby_verts.end(); n_it++) {
@@ -687,11 +689,15 @@
fMax[1] = ebb.Max().y;
fMax[2] = ebb.Max().z;
+ interior_uedge_ids.erase(ue_id);
+ interior_uedge.erase(ue);
iuetree.Remove(fMin, fMax, ue_id);
if (update_verts) {
overts[ue.v[0]].update();
overts[ue.v[1]].update();
+ // The verts who where referencing this as their closest edge need to
+ // pick a new one
std::set<size_t> close_verts = iue_close_overts[ue_id];
std::set<size_t>::iterator c_it;
for (c_it = close_verts.begin(); c_it != close_verts.end(); c_it++) {
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