[MOAB-dev] r5315 - in MOAB/trunk: src src/moab test

iulian at mcs.anl.gov iulian at mcs.anl.gov
Thu Jan 12 14:50:43 CST 2012


Author: iulian
Date: 2012-01-12 14:50:43 -0600 (Thu, 12 Jan 2012)
New Revision: 5315

Modified:
   MOAB/trunk/src/FBEngine.cpp
   MOAB/trunk/src/moab/FBEngine.hpp
   MOAB/trunk/test/crop_vol_test.cpp
   MOAB/trunk/test/mbfacet_test.cpp
   MOAB/trunk/test/mbground_test.cpp
Log:
add feature angle option in terms of min_dot (minimum cos of angle between
2 edges)
this affects only edges built by splitting an existing surface right now,
not the g edges existing in the moab database.


Modified: MOAB/trunk/src/FBEngine.cpp
===================================================================
--- MOAB/trunk/src/FBEngine.cpp	2012-01-12 17:49:38 UTC (rev 5314)
+++ MOAB/trunk/src/FBEngine.cpp	2012-01-12 20:50:43 UTC (rev 5315)
@@ -1149,8 +1149,8 @@
   return MB_SUCCESS;
 }
 
-ErrorCode FBEngine::split_surface_with_direction(EntityHandle face, std::vector<double> & xyz,
-    double * direction, EntityHandle & newFace, int closed)
+ErrorCode FBEngine::split_surface_with_direction(EntityHandle face, std::vector<double> & xyz, double * direction,
+    int closed, double min_dot, EntityHandle & oNewFace )
 {
 
   // first of all, find all intersection points (piercing in the face along the direction)
@@ -1420,10 +1420,10 @@
   // the segment between point_i and point_i+1 is in trianglesAlong_i
   // points_i is on entities_i
   // all these edges are oriented correctly
-  rval = split_surface(face, chainedEdges, splittingNodes, newFace);
+  rval = split_surface(face, chainedEdges, splittingNodes, oNewFace);
   MBERRORR(rval, "can't split surface");
   //
-  rval = chain_edges(0.8); // acos(0.8)~= 36 degrees
+  rval = chain_edges(min_dot); // acos(0.8)~= 36 degrees
   MBERRORR(rval, "can't chain edges");
   return MB_SUCCESS;
 }

Modified: MOAB/trunk/src/moab/FBEngine.hpp
===================================================================
--- MOAB/trunk/src/moab/FBEngine.hpp	2012-01-12 17:49:38 UTC (rev 5314)
+++ MOAB/trunk/src/moab/FBEngine.hpp	2012-01-12 20:50:43 UTC (rev 5315)
@@ -125,7 +125,7 @@
       bool& adjacent_out );
 
   ErrorCode split_surface_with_direction(EntityHandle face, std::vector<double> & xyz, double * direction,
-      EntityHandle & newFace, int closed);
+      int closed, double min_dot, EntityHandle & oNewFace );
   // these new points will be on edges or triangles, if in interior of triangles
   ErrorCode split_surface(EntityHandle face,
       std::vector<EntityHandle> & chainedEdges,

Modified: MOAB/trunk/test/crop_vol_test.cpp
===================================================================
--- MOAB/trunk/test/crop_vol_test.cpp	2012-01-12 17:49:38 UTC (rev 5314)
+++ MOAB/trunk/test/crop_vol_test.cpp	2012-01-12 20:50:43 UTC (rev 5315)
@@ -169,11 +169,11 @@
     return MB_FAILURE;
   }
   EntityHandle newFace1;// first test is with closed surface


More information about the moab-dev mailing list