<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> </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" <jiangtao_ma@yahoo.com><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> cgm/trunk/geom/OCC/OCCModifyEngine.cpp<br> cgm/trunk/geom/OCC/OCCQueryEngine.cpp<br> 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 2011-07-19 17:57:32 UTC (rev 5065)<br>+++ cgm/trunk/geom/OCC/OCCModifyEngine.cpp 2011-07-21 16:18:05 UTC (rev 5066)<br>@@ -2195,6 +2195,7 @@<br> //indicate if there's more faces to be imprinted<br> CubitBoolean more_face = CUBIT_TRUE; <br> DLIList<TopoDS_Face*>
list_for_delete;<br>+ CubitBoolean face_created = CUBIT_FALSE;<br> <br> //list of face on from_shape that has been imprinted<br> DLIList<TopoDS_Face*> from_faces; <br>@@ -2409,7 +2410,10 @@<br> face = (OCCSurface*)(OCCQueryEngine::instance()->OccToCGM->find(i))->second;<br> }<br> else<br>+ {<br>+ face_created = CUBIT_TRUE;<br> face = OCCQueryEngine::instance()->populate_topology_bridge(from_face);<br>+ }<br> OCCSurface* occ_face = CAST_TO(face, OCCSurface);<br> <br> DLIList<Curve*> common_curves;<br>@@ -2494,6 +2498,7 @@<br> <br> CubitVector point_on_surf;<br> occ_face->closest_point_trimmed(p, point_on_surf);<br>+<br>
if(p.distance_between(point_on_surf) > TOL) //edge not on from_face<br> {<br> skipped = CUBIT_TRUE;<br>@@ -2553,7 +2558,7 @@<br> added = CUBIT_TRUE;<br> curve_list.append(curve); <br> }<br>- } <br>+ }<br> if(added)<br> {<br> topo_changed = CUBIT_TRUE;<br>@@ -2591,7 +2596,12 @@<br> }<br> }<br> }<br>-<br>+ <br>+ if(face_created)<br>+ {<br>+
OCCQueryEngine::instance()->delete_solid_model_entities(occ_face);<br>+ face_created = CUBIT_FALSE;<br>+ }<br><br><br></div></div></blockquote></div></div></body></html>