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

jiangtao_ma at yahoo.com jiangtao_ma at yahoo.com
Mon Oct 25 09:21:09 CDT 2010


Author: janehu
Date: 2010-10-25 09:21:09 -0500 (Mon, 25 Oct 2010)
New Revision: 4238

Modified:
   cgm/trunk/geom/OCC/OCCModifyEngine.cpp
Log:
Fixed for fill2 test in mcnp2cad/tests/INP-fill2. Added a check to find arc-curve overlap and made sure if imprinting with a face which has inner loops, first use outer loop to split.

Modified: cgm/trunk/geom/OCC/OCCModifyEngine.cpp
===================================================================
--- cgm/trunk/geom/OCC/OCCModifyEngine.cpp	2010-10-22 20:28:40 UTC (rev 4237)
+++ cgm/trunk/geom/OCC/OCCModifyEngine.cpp	2010-10-25 14:21:09 UTC (rev 4238)
@@ -2307,48 +2307,9 @@
 	  sort_curves(common_curves, temp_edge_lists);
 	  DLIList<TopoDS_Edge*>* edge_list;
 	  int size = temp_edge_lists.size();
-          //if size > 1 , check to make sure they are not outer wire
-          // and inner wires.
-          DLIList<CubitBox*> bs;
-          temp_edge_lists.reset();
-          CubitBox box, box1;
-          for(int i = 0; i < size; i++)
-          {
-            edge_list = temp_edge_lists.get_and_step();
-            box.reset(box1);
-            for(int j = 0; j < edge_list->size(); j++)
-            {
-              TopoDS_Edge e = *(edge_list->get_and_step());
-              int k = OCCQueryEngine::instance()->OCCMap->Find(e);
-              Curve* curve = NULL;
-              curve = (Curve*)(OCCQueryEngine::instance()->OccToCGM->find(k))->second; 
-              box |= curve->bounding_box();
-            } 
-            bs.append(&box);
-          }
-          for(int i = 0; i < bs.size()-1; i++)
-          {
-            for(int j = i + 1; j < bs.size(); j ++)
-            {
-              if(bs[j] < bs[i])
-              {
-                bs[size] = bs[i];
-                bs[i] = bs[j];
-                bs[j] = bs[size];
-              }
-              if(bs[i] < bs[j]) 
-              {
-                temp_edge_lists.step(i);
-                temp_edge_lists.change_to((DLIList<TopoDS_Edge*>*)NULL);
-                continue;
-              }
-            }
-          }
 	  for(int i = 0; i < size; i++)
 	    {
-	      edge_list = temp_edge_lists.pop();
-              if(edge_list == NULL)
-                continue;
+	      edge_list = temp_edge_lists.get_and_step();


More information about the cgma-dev mailing list