[MOAB-dev] r4799 - in MOAB/trunk/src: . moab

iulian at mcs.anl.gov iulian at mcs.anl.gov
Thu May 5 02:28:14 CDT 2011


Author: iulian
Date: 2011-05-05 02:28:09 -0500 (Thu, 05 May 2011)
New Revision: 4799

Modified:
   MOAB/trunk/src/FBEngine.cpp
   MOAB/trunk/src/GeomTopoTool.cpp
   MOAB/trunk/src/moab/FBEngine.hpp
   MOAB/trunk/src/moab/GeomTopoTool.hpp
Log:
fix bugs in splitting across 
  redistribute boundary edges according to adjacent triangles
  correct child-parent relations for split edges and vertices
add some methods in gtt to retrieve global id for gsets
set the obb inside gtt to clean up obb sets



Modified: MOAB/trunk/src/FBEngine.cpp
===================================================================
--- MOAB/trunk/src/FBEngine.cpp	2011-05-03 17:44:21 UTC (rev 4798)
+++ MOAB/trunk/src/FBEngine.cpp	2011-05-05 07:28:09 UTC (rev 4799)
@@ -1317,7 +1317,7 @@
   // we will separate triangles to delete, unaffected, new_triangles,
   //  nodesAlongPolyline, 
   Range first, second;
-  rval = separate (iniTris, triToDelete, new_triangles, new_geo_edge,
+  rval = separate (face, triToDelete, new_triangles, new_geo_edge,
       first, second);
 
   // now, we are done with the computations;
@@ -1412,9 +1412,10 @@
   }
   MBERRORR(rval, "can't add proper set to the original set");
 
-  if (debug_splits)
+  if (!loop)
   {
-    _mbImpl->write_file("firstFace.vtk", "vtk", 0, &newFace, 1);
+    rval = redistribute_boundary_edges_to_faces(face, newFace, new_geo_edge);
+    MBERRORR(rval, "fail to reset the proper boundary faces");
   }
 
   if (_smooth)
@@ -1431,6 +1432,11 @@
   rval=_mbImpl->delete_entities(edgesToDelete);
   MBERRORR(rval, "can't delete edges");
 
+  if (debug_splits)
+  {
+    _mbImpl->write_file("newFace.vtk", "vtk", 0, &newFace, 1);
+    _mbImpl->write_file("leftoverFace.vtk", "vtk", 0, &face, 1);
+  }
   return MB_SUCCESS;
 }
 
@@ -1475,7 +1481,7 @@
   return MB_SUCCESS;
 }
 // so, triangles are
-ErrorCode FBEngine::separate (Range & iniTriangles, Range & triToDelete,
+ErrorCode FBEngine::separate (EntityHandle face, Range & triToDelete,
     Range & new_triangles,
     EntityHandle new_geo_edge, Range & first,  Range & second)
 {
@@ -1487,6 +1493,7 @@
   //  an edge in the new_geo_edge, it is skipped; triangles in the
   // triangles to delete are not added
   // first, create all edges of the new triangles


More information about the moab-dev mailing list