Revision: 74261
http://sourceforge.net/p/brlcad/code/74261
Author: starseeker
Date: 2019-10-29 21:07:42 +0000 (Tue, 29 Oct 2019)
Log Message:
-----------
Right general idea, but some errors are being introduced.
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-29 20:04:12 UTC (rev
74260)
+++ brlcad/trunk/src/libbrep/cdt_ovlps.cpp 2019-10-29 21:07:42 UTC (rev
74261)
@@ -2230,17 +2230,22 @@
omeshes.insert(omesh2);
}
}
-
- std::cout << "TODO check nverts:" << nverts.size() << "\n";
-
std::cout << "Need to split triangles in " << omeshes.size() << "
meshes\n";
std::set<omesh_t *>::iterator o_it;
for (o_it = omeshes.begin(); o_it != omeshes.end(); o_it++) {
omesh_t *omesh = *o_it;
-
+
std::map<cdt_mesh::uedge_t, std::vector<revt_pt_t>> edge_sets;
+ std::set<overt_t *>::iterator nv_it;
+ for (nv_it = nverts.begin(); nv_it != nverts.end(); nv_it++) {
+ overt_t *v = *nv_it;
+ if (v->omesh != omesh) {
+ omesh->refine_pnt_add(v);
+ }
+ }
+
std::map<long, overt_t*> roverts = omesh->refinement_overts;
std::map<long, overt_t*>::iterator i_t;
for (i_t = roverts.begin(); i_t != roverts.end(); i_t++) {
@@ -2250,8 +2255,13 @@
ON_3dPoint spnt;
ON_3dVector sn;
double dist = ov->bb.Diagonal().Length() * 10;
- closest_surf_pnt(spnt, sn, *omesh->fmesh, &ovpnt, 2*dist);
+ if (!closest_surf_pnt(spnt, sn, *omesh->fmesh, &ovpnt, 200*dist)) {
+ std::cout << "closest point failed\n";
+ omesh->refine_pnt_remove(ov);
+ continue;
+ }
+
#if 0
ON_3dPoint
problem(3.40645986967497638,8.36595332610066045,23.99999898083232353);
if (problem.DistanceTo(spnt) < 0.01) {
@@ -2325,6 +2335,12 @@
}
}
+ if (closest_uedge.v[0] == -1) {
+ std::cout << "problem\n";
+ omesh->refine_pnt_remove(ov);
+ continue;
+ }
+
revt_pt_t rpt;
rpt.spnt = spnt;
rpt.sn = sn;
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