Hi, Hong-Jun<br><br>Please use r5098 to fix the problem seen in your model. Thanks.<br><br>Jane<br><br><div class="gmail_quote">On Thu, Aug 11, 2011 at 10:58 PM, Jiangtao Hu <span dir="ltr">&lt;<a href="mailto:jiangtao_ma@yahoo.com">jiangtao_ma@yahoo.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font: inherit;" valign="top">
<div><br>Sure, I&#39;ll look into this case tomorrow. Thanks for the model and your time finding it.</div>
<div> </div>
<div>Jane<div class="im"><br>--- On <b>Thu, 8/11/11, Hong-Jun Kim <i>&lt;<a href="mailto:hongjun@mcs.anl.gov" target="_blank">hongjun@mcs.anl.gov</a>&gt;</i></b> wrote:<br></div></div>
<blockquote style="padding-left: 5px; margin-left: 5px; border-left: 2px solid rgb(16, 16, 255);"><div class="im"><br>From: Hong-Jun Kim &lt;<a href="mailto:hongjun@mcs.anl.gov" target="_blank">hongjun@mcs.anl.gov</a>&gt;<br>
</div><div class="im">Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC<br></div>To: <a href="mailto:jiangtao_ma@yahoo.com" target="_blank">jiangtao_ma@yahoo.com</a><br>Cc: <a href="mailto:cgma-dev@mcs.anl.gov" target="_blank">cgma-dev@mcs.anl.gov</a><br>
Date: Thursday, August 11, 2011, 5:12 PM<div><div></div><div class="h5"><br><br>
<div>Hi, jane<br><br>I attached a step geometry file (with a picture) having problem in OCC kernel.<br>It passes the &quot;test_edge_orient&quot; in ACIS kernel but doesn&#39;t in OCC.<br>Could you please check this file?<br>
Thanks.<br><br>Hong-Jun<br><br>----- Original Message -----<br>From: &quot;Hong-Jun Kim&quot; &lt;<a href="http://us.mc1616.mail.yahoo.com/mc/compose?to=hongjun@mcs.anl.gov" target="_blank">hongjun@mcs.anl.gov</a>&gt;<br>
To: <a href="http://us.mc1616.mail.yahoo.com/mc/compose?to=cgma-dev@mcs.anl.gov" target="_blank">cgma-dev@mcs.anl.gov</a><br>Sent: Thursday, August 11, 2011 3:06:25 PM<br>Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC<br>
<br>Thank you for this change.<br><br>I am testing it with complex geometries and it looks there are some improvement but it is not working for some cases.<br>I am still finding where the problem is coming from and let me inform you the
 result.<br>Thanks.<br><br>Hong-Jun<br><br>----- Original Message -----<br>&gt; From: &quot;jiangtao ma&quot; &lt;<a href="http://us.mc1616.mail.yahoo.com/mc/compose?to=jiangtao_ma@yahoo.com" target="_blank">jiangtao_ma@yahoo.com</a>&gt;<br>
&gt; To: <a href="http://us.mc1616.mail.yahoo.com/mc/compose?to=cgma-dev@mcs.anl.gov" target="_blank">cgma-dev@mcs.anl.gov</a><br>&gt; Sent: Thursday, August 11, 2011 9:21:55 AM<br>&gt; Subject: [cgma-dev] r5088 - cgm/trunk/geom/OCC<br>
&gt; Author: janehu<br>&gt; Date: 2011-08-11 09:21:55 -0500 (Thu, 11 Aug 2011)<br>&gt; New Revision: 5088<br>&gt; <br>&gt; Modified:<br>&gt; cgm/trunk/geom/OCC/OCCCurve.cpp<br>&gt; cgm/trunk/geom/OCC/OCCModifyEngine.cpp<br>
&gt; cgm/trunk/geom/OCC/OCCQueryEngine.cpp<br>&gt; cgm/trunk/geom/OCC/OCCSurface.cpp<br>&gt; Log:<br>&gt; Added changes to make coedge and loop direction correct. For surfaces,<br>&gt; opposite to acis where face is always forward
 direction respect to its<br>&gt; volume, OCC surfaces and shell might be reversed direction with<br>&gt; respect to its solid. This may cause volume mesh fail, I am looking<br>&gt; into it now, and might need to change some logic in the geom level of<br>
&gt; cgm.<br>&gt; <br>&gt; Modified: cgm/trunk/geom/OCC/OCCCurve.cpp<br>&gt; ===================================================================<br>&gt; --- cgm/trunk/geom/OCC/OCCCurve.cpp 2011-08-09 22:27:32 UTC (rev 5087)<br>
&gt; +++ cgm/trunk/geom/OCC/OCCCurve.cpp 2011-08-11 14:21:55 UTC (rev 5088)<br>&gt; @@ -123,10 +123,10 @@<br>&gt; <br>&gt; void OCCCurve::set_TopoDS_Edge(TopoDS_Edge edge)<br>&gt; {<br>&gt; - if(edge.IsEqual(*myTopoDSEdge))<br>
&gt; + if(edge.IsSame(*myTopoDSEdge))<br>&gt; return;<br>&gt; <br>&gt; - if(!edge.IsSame(*myTopoDSEdge))<br>&gt; + else<br>&gt; {<br>&gt; DLIList&lt;OCCPoint*&gt; points ;<br>&gt; this-&gt;get_points(points);<br>&gt; @@ -737,8 +737,7 @@<br>
&gt; double
 OCCCurve::start_param()<br>&gt; {<br>&gt; double start = 0.0, end = 0.0;<br>&gt; -<br>&gt; - get_param_range( start, end );<br>&gt; + get_param_range( start, end );<br>&gt; return start;<br>&gt; }<br>&gt; <br>&gt; @@ -781,29 +780,22 @@<br>
&gt; {<br>&gt; TopTools_IndexedMapOfShape M;<br>&gt; TopExp::MapShapes(*myTopoDSEdge, TopAbs_VERTEX, M);<br>&gt; - TopologyBridge *point1, *point2;<br>&gt; - if (M.Extent()==1) {<br>&gt; - point1 = OCCQueryEngine::instance()-&gt;occ_to_cgm(M(1));<br>
&gt; - if (point1)<br>&gt; - children.append_unique(point1);<br>&gt; - } else if (M.Extent()==2) {<br>&gt; - if ( fabs(BRep_Tool::Parameter(TopoDS::Vertex(M(1)),<br>&gt; *myTopoDSEdge)-start_param()) &gt;<br>&gt; - fabs(BRep_Tool::Parameter(TopoDS::Vertex(M(2)),<br>
&gt; *myTopoDSEdge)-start_param()) ) {<br>&gt; - point1 = OCCQueryEngine::instance()-&gt;occ_to_cgm(M(2));<br>&gt; - point2 = OCCQueryEngine::instance()-&gt;occ_to_cgm(M(1));<br>&gt; - } else {<br>&gt; - point1 =
 OCCQueryEngine::instance()-&gt;occ_to_cgm(M(1));<br>&gt; - point2 = OCCQueryEngine::instance()-&gt;occ_to_cgm(M(2));<br>&gt; - }<br>&gt; - if (point1 &amp;&amp; point1 == point2) {<br>&gt; - children.append_unique(point1);<br>
&gt; - } else {<br>&gt; - if (point1)<br>&gt; - children.append_unique(point1);<br>&gt; - if (point2)<br></div></div></div></blockquote></td></tr></tbody></table></blockquote></div><br>