<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div><span>Thanks, Jane.</span></div><div>&nbsp;</div><div><font style="font-family: arial, helvetica, sans-serif; " size="2">Rajeev</font><br><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><div style="font-size: 10pt; font-family: arial, helvetica, sans-serif; "><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><font size="2" face="Arial"><hr size="1"><b><span style="font-weight:bold;">From:</span></b> "jiangtao_ma@yahoo.com" &lt;jiangtao_ma@yahoo.com&gt;<br><b><span style="font-weight: bold;">To:</span></b> cgma-dev@mcs.anl.gov<br><b><span style="font-weight: bold;">Sent:</span></b> Thursday, July 21, 2011 11:18 AM<br><b><span style="font-weight: bold;">Subject:</span></b> [cgma-dev] r5066 - cgm/trunk/geom/OCC<br></font><br>Author:
 janehu<br>Date: 2011-07-21 11:18:05 -0500 (Thu, 21 Jul 2011)<br>New Revision: 5066<br><br>Modified:<br>&nbsp;  cgm/trunk/geom/OCC/OCCModifyEngine.cpp<br>&nbsp;  cgm/trunk/geom/OCC/OCCQueryEngine.cpp<br>&nbsp;  cgm/trunk/geom/OCC/OCCQueryEngine.hpp<br>Log:<br>Changed unite function to correctly check bounding box intersection, and supporting other code change. Improved rgg/assygen for 7.inp from 3173s to 104 seconds. Passed make check for cgm.<br><br>Modified: cgm/trunk/geom/OCC/OCCModifyEngine.cpp<br>===================================================================<br>--- cgm/trunk/geom/OCC/OCCModifyEngine.cpp&nbsp;&nbsp;&nbsp; 2011-07-19 17:57:32 UTC (rev 5065)<br>+++ cgm/trunk/geom/OCC/OCCModifyEngine.cpp&nbsp;&nbsp;&nbsp; 2011-07-21 16:18:05 UTC (rev 5066)<br>@@ -2195,6 +2195,7 @@<br>&nbsp;  //indicate if there's more faces to be imprinted<br>&nbsp;  CubitBoolean more_face = CUBIT_TRUE; <br>&nbsp;  DLIList&lt;TopoDS_Face*&gt;
 list_for_delete;<br>+&nbsp; CubitBoolean face_created = CUBIT_FALSE;<br> <br>&nbsp;  //list of face on from_shape that has been imprinted<br>&nbsp;  DLIList&lt;TopoDS_Face*&gt; from_faces; <br>@@ -2409,7 +2410,10 @@<br> &nbsp;&nbsp;&nbsp; &nbsp; face = (OCCSurface*)(OCCQueryEngine::instance()-&gt;OccToCGM-&gt;find(i))-&gt;second;<br> &nbsp;&nbsp;&nbsp; }<br>&nbsp; &nbsp; &nbsp;  else<br>+&nbsp; &nbsp; &nbsp; {<br>+&nbsp; &nbsp; &nbsp; &nbsp; face_created = CUBIT_TRUE;<br>&nbsp; &nbsp; &nbsp; &nbsp;  face = OCCQueryEngine::instance()-&gt;populate_topology_bridge(from_face);<br>+&nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp;  OCCSurface* occ_face = CAST_TO(face, OCCSurface);<br> <br>&nbsp; &nbsp; &nbsp;  DLIList&lt;Curve*&gt; common_curves;<br>@@ -2494,6 +2498,7 @@<br> <br> &nbsp;&nbsp;&nbsp; &nbsp; CubitVector point_on_surf;<br> &nbsp;&nbsp;&nbsp; &nbsp; occ_face-&gt;closest_point_trimmed(p, point_on_surf);<br>+<br> &nbsp;&nbsp;&nbsp; &nbsp;
 if(p.distance_between(point_on_surf) &gt; TOL) //edge not on from_face<br> &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; {<br> &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; skipped = CUBIT_TRUE;<br>@@ -2553,7 +2558,7 @@<br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; added = CUBIT_TRUE;<br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; curve_list.append(curve); <br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>-&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; } <br>+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br> &nbsp;&nbsp;&nbsp; &nbsp; if(added)<br> &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; {<br> &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; topo_changed = CUBIT_TRUE;<br>@@ -2591,7 +2596,12 @@<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  }<br> &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; }<br> &nbsp;&nbsp;&nbsp; }<br>-<br>+&nbsp; &nbsp;  <br>+&nbsp; &nbsp; &nbsp; if(face_created)<br>+&nbsp; &nbsp; &nbsp; {<br>+&nbsp; &nbsp; &nbsp; &nbsp;
 OCCQueryEngine::instance()-&gt;delete_solid_model_entities(occ_face);<br>+&nbsp; &nbsp; &nbsp; &nbsp; face_created = CUBIT_FALSE;<br>+&nbsp; &nbsp; &nbsp; }<br><br><br></div></div></blockquote></div></div></body></html>