[cgma-dev] r4304 - cgm/trunk/geom/OCC

jiangtao_ma at yahoo.com jiangtao_ma at yahoo.com
Tue Nov 30 08:43:59 CST 2010


Author: janehu
Date: 2010-11-30 08:43:59 -0600 (Tue, 30 Nov 2010)
New Revision: 4304

Modified:
   cgm/trunk/geom/OCC/OCCModifyEngine.cpp
   cgm/trunk/geom/OCC/OCCQueryEngine.cpp
Log:
Fixed tolerance issue on hexlat2 & 3 for not imprinting edges, and some minor issue with error message managing. Passed all tests.

Modified: cgm/trunk/geom/OCC/OCCModifyEngine.cpp
===================================================================
--- cgm/trunk/geom/OCC/OCCModifyEngine.cpp	2010-11-29 22:02:51 UTC (rev 4303)
+++ cgm/trunk/geom/OCC/OCCModifyEngine.cpp	2010-11-30 14:43:59 UTC (rev 4304)
@@ -2418,7 +2418,15 @@
 	      CubitBox aBox_e(min, max);
 	      aBox_face.Get( min[0], min[1], min[2], max[0], max[1], max[2]);
 	      CubitBox aBox_f(min, max);
-	      if (aBox_e <= aBox_f)
+              //hexlat3 has tolerance issue where aBox_e.x_min is within 
+              //tolerance and greater than aBox_f.x_min, coursing no edge
+              //imprint of the faces. change to add consideration of tolerance
+	      if (aBox_e.min_x() >= aBox_f.min_x() - TOL &&
+                  aBox_e.min_y() >= aBox_f.min_y() - TOL &&
+                  aBox_e.min_z() >= aBox_f.min_z() - TOL &&
+                  aBox_e.max_x() <= aBox_f.max_x() + TOL &&
+                  aBox_e.max_y() <= aBox_f.max_y() + TOL &&
+                  aBox_e.max_z() <= aBox_f.max_z() + TOL)
 		{
 		  Curve* curve = OCCQueryEngine::instance()->populate_topology_bridge(edge);
 		  curve_list.append(curve);
@@ -3755,8 +3763,8 @@
       new_bodies.append(bodysm);
   }
   
-  if(tbs.size() == 0)
-    stat = CUBIT_FAILURE;
+  //if(tbs.size() == 0)
+  //  stat = CUBIT_FAILURE;
     
   //ok, we're done with all cuts, delete unnecessaries.
   if(!keep_old)

Modified: cgm/trunk/geom/OCC/OCCQueryEngine.cpp
===================================================================
--- cgm/trunk/geom/OCC/OCCQueryEngine.cpp	2010-11-29 22:02:51 UTC (rev 4303)
+++ cgm/trunk/geom/OCC/OCCQueryEngine.cpp	2010-11-30 14:43:59 UTC (rev 4304)
@@ -2412,26 +2412,26 @@
 
   TopoDS_Shape* shape = occ_body->get_TopoDS_Shape();
 
-  if (!shape || shape->IsNull())
-    return CUBIT_SUCCESS;
+  if (shape && !shape->IsNull())
+  {
+    //remove the entry from label tree
+    OCCAttribSet::remove_attribute(*shape) ;
 
-  //remove the entry from label tree
-  OCCAttribSet::remove_attribute(*shape) ;
+    //remove the entry from the map


More information about the cgma-dev mailing list