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"><<a href="mailto:jiangtao_ma@yahoo.com">jiangtao_ma@yahoo.com</a>></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'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><<a href="mailto:hongjun@mcs.anl.gov" target="_blank">hongjun@mcs.anl.gov</a>></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 <<a href="mailto:hongjun@mcs.anl.gov" target="_blank">hongjun@mcs.anl.gov</a>><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 "test_edge_orient" in ACIS kernel but doesn't in OCC.<br>Could you please check this file?<br>
Thanks.<br><br>Hong-Jun<br><br>----- Original Message -----<br>From: "Hong-Jun Kim" <<a href="http://us.mc1616.mail.yahoo.com/mc/compose?to=hongjun@mcs.anl.gov" target="_blank">hongjun@mcs.anl.gov</a>><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>> From: "jiangtao ma" <<a href="http://us.mc1616.mail.yahoo.com/mc/compose?to=jiangtao_ma@yahoo.com" target="_blank">jiangtao_ma@yahoo.com</a>><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 9:21:55 AM<br>> Subject: [cgma-dev] r5088 - cgm/trunk/geom/OCC<br>
> Author: janehu<br>> Date: 2011-08-11 09:21:55 -0500 (Thu, 11 Aug 2011)<br>> New Revision: 5088<br>> <br>> Modified:<br>> cgm/trunk/geom/OCC/OCCCurve.cpp<br>> cgm/trunk/geom/OCC/OCCModifyEngine.cpp<br>
> cgm/trunk/geom/OCC/OCCQueryEngine.cpp<br>> cgm/trunk/geom/OCC/OCCSurface.cpp<br>> Log:<br>> Added changes to make coedge and loop direction correct. For surfaces,<br>> opposite to acis where face is always forward
direction respect to its<br>> volume, OCC surfaces and shell might be reversed direction with<br>> respect to its solid. This may cause volume mesh fail, I am looking<br>> into it now, and might need to change some logic in the geom level of<br>
> cgm.<br>> <br>> Modified: cgm/trunk/geom/OCC/OCCCurve.cpp<br>> ===================================================================<br>> --- cgm/trunk/geom/OCC/OCCCurve.cpp 2011-08-09 22:27:32 UTC (rev 5087)<br>
> +++ cgm/trunk/geom/OCC/OCCCurve.cpp 2011-08-11 14:21:55 UTC (rev 5088)<br>> @@ -123,10 +123,10 @@<br>> <br>> void OCCCurve::set_TopoDS_Edge(TopoDS_Edge edge)<br>> {<br>> - if(edge.IsEqual(*myTopoDSEdge))<br>
> + if(edge.IsSame(*myTopoDSEdge))<br>> return;<br>> <br>> - if(!edge.IsSame(*myTopoDSEdge))<br>> + else<br>> {<br>> DLIList<OCCPoint*> points ;<br>> this->get_points(points);<br>> @@ -737,8 +737,7 @@<br>
> double
OCCCurve::start_param()<br>> {<br>> double start = 0.0, end = 0.0;<br>> -<br>> - get_param_range( start, end );<br>> + get_param_range( start, end );<br>> return start;<br>> }<br>> <br>> @@ -781,29 +780,22 @@<br>
> {<br>> TopTools_IndexedMapOfShape M;<br>> TopExp::MapShapes(*myTopoDSEdge, TopAbs_VERTEX, M);<br>> - TopologyBridge *point1, *point2;<br>> - if (M.Extent()==1) {<br>> - point1 = OCCQueryEngine::instance()->occ_to_cgm(M(1));<br>
> - if (point1)<br>> - children.append_unique(point1);<br>> - } else if (M.Extent()==2) {<br>> - if ( fabs(BRep_Tool::Parameter(TopoDS::Vertex(M(1)),<br>> *myTopoDSEdge)-start_param()) ><br>> - fabs(BRep_Tool::Parameter(TopoDS::Vertex(M(2)),<br>
> *myTopoDSEdge)-start_param()) ) {<br>> - point1 = OCCQueryEngine::instance()->occ_to_cgm(M(2));<br>> - point2 = OCCQueryEngine::instance()->occ_to_cgm(M(1));<br>> - } else {<br>> - point1 =
OCCQueryEngine::instance()->occ_to_cgm(M(1));<br>> - point2 = OCCQueryEngine::instance()->occ_to_cgm(M(2));<br>> - }<br>> - if (point1 && point1 == point2) {<br>> - children.append_unique(point1);<br>
> - } else {<br>> - if (point1)<br>> - children.append_unique(point1);<br>> - if (point2)<br></div></div></div></blockquote></td></tr></tbody></table></blockquote></div><br>