[MOAB-dev] r4741 - in MOAB/trunk: MeshFiles/unittest src src/moab test

iulian at mcs.anl.gov iulian at mcs.anl.gov
Thu Apr 14 22:56:14 CDT 2011


Author: iulian
Date: 2011-04-14 22:56:13 -0500 (Thu, 14 Apr 2011)
New Revision: 4741

Added:
   MOAB/trunk/MeshFiles/unittest/polyPB.txt
Modified:
   MOAB/trunk/src/FBEngine.cpp
   MOAB/trunk/src/moab/FBEngine.hpp
   MOAB/trunk/test/mbfacet_test.cpp
Log:
first iteration for splitting a mesh-based face
not working correctly yet, but make check passes


Added: MOAB/trunk/MeshFiles/unittest/polyPB.txt
===================================================================
--- MOAB/trunk/MeshFiles/unittest/polyPB.txt	                        (rev 0)
+++ MOAB/trunk/MeshFiles/unittest/polyPB.txt	2011-04-15 03:56:13 UTC (rev 4741)
@@ -0,0 +1,5 @@
+ 0. 0. 1. 10.
+537200  7680200  -2000.
+537800  7680100  -2000.
+537700  7680950  -2000.
+537100  7680900  -2000.

Modified: MOAB/trunk/src/FBEngine.cpp
===================================================================
--- MOAB/trunk/src/FBEngine.cpp	2011-04-14 17:14:46 UTC (rev 4740)
+++ MOAB/trunk/src/FBEngine.cpp	2011-04-15 03:56:13 UTC (rev 4741)
@@ -5,10 +5,11 @@
 #include "moab/Interface.hpp"
 #include "moab/GeomTopoTool.hpp"
 #include "moab/OrientedBoxTreeTool.hpp"
-#include "moab/CartVect.hpp"
+
 #include <stdlib.h>
 #include <cstring>
 #include <map>
+#include <set>
 #include "assert.h"
 
 #include "SmoothCurve.hpp"
@@ -20,8 +21,156 @@
 
 namespace moab {
 
+// some tolerances for ray tracing and geometry intersections
+// these are involved in ray tracing, at least
+
+unsigned min_tolerace_intersections = 1000;
+double tolerance = 0.01; // TODO: how is this used ????
+double tolerance_segment = 0.000001; // for segments intersection, points collapse
 const bool Debug_surf_eval = false;
+bool debug_splits = false;// false?
 
+// will compute intersection between a segment and slice of a plane
+// output is the intersection point
+bool intersect_segment_and_plane_slice(CartVect & from, CartVect & to,
+    CartVect & p1, CartVect & p2, CartVect & Dir, CartVect & normPlane,
+    CartVect & intx_point, double & parPos)
+{
+  //
+  // plane eq is normPlane % r + d = 0, or normPlane % r - normPlane%p1 = 0
+  double dd = -normPlane % p1;
+  double valFrom = normPlane % from + dd;


More information about the moab-dev mailing list