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

Jane Hu janejhu at gmail.com
Fri Aug 12 12:31:22 CDT 2011


Hi, Hong-Jun

Please use r5098 to fix the problem seen in your model. Thanks.

Jane

On Thu, Aug 11, 2011 at 10:58 PM, Jiangtao Hu <jiangtao_ma at yahoo.com> wrote:

>
> Sure, I'll look into this case tomorrow. Thanks for the model and your time
> finding it.
>
> Jane
>
> --- On *Thu, 8/11/11, Hong-Jun Kim <hongjun at mcs.anl.gov>* wrote:
>
>
> From: Hong-Jun Kim <hongjun at mcs.anl.gov>
> Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> To: jiangtao_ma at yahoo.com
> Cc: cgma-dev at mcs.anl.gov
> Date: Thursday, August 11, 2011, 5:12 PM
>
>
> Hi, jane
>
> I attached a step geometry file (with a picture) having problem in OCC
> kernel.
> It passes the "test_edge_orient" in ACIS kernel but doesn't in OCC.
> Could you please check this file?
> Thanks.
>
> Hong-Jun
>
> ----- Original Message -----
> From: "Hong-Jun Kim" <hongjun at mcs.anl.gov<http://us.mc1616.mail.yahoo.com/mc/compose?to=hongjun@mcs.anl.gov>
> >
> To: cgma-dev at mcs.anl.gov<http://us.mc1616.mail.yahoo.com/mc/compose?to=cgma-dev@mcs.anl.gov>
> Sent: Thursday, August 11, 2011 3:06:25 PM
> Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
>
> Thank you for this change.
>
> I am testing it with complex geometries and it looks there are some
> improvement but it is not working for some cases.
> I am still finding where the problem is coming from and let me inform you
> the result.
> Thanks.
>
> Hong-Jun
>
> ----- Original Message -----
> > From: "jiangtao ma" <jiangtao_ma at yahoo.com<http://us.mc1616.mail.yahoo.com/mc/compose?to=jiangtao_ma@yahoo.com>
> >
> > To: cgma-dev at mcs.anl.gov<http://us.mc1616.mail.yahoo.com/mc/compose?to=cgma-dev@mcs.anl.gov>
> > Sent: Thursday, August 11, 2011 9:21:55 AM
> > Subject: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> > Author: janehu
> > Date: 2011-08-11 09:21:55 -0500 (Thu, 11 Aug 2011)
> > New Revision: 5088
> >
> > Modified:
> > cgm/trunk/geom/OCC/OCCCurve.cpp
> > cgm/trunk/geom/OCC/OCCModifyEngine.cpp
> > cgm/trunk/geom/OCC/OCCQueryEngine.cpp
> > cgm/trunk/geom/OCC/OCCSurface.cpp
> > Log:
> > Added changes to make coedge and loop direction correct. For surfaces,
> > opposite to acis where face is always forward direction respect to its
> > volume, OCC surfaces and shell might be reversed direction with
> > respect to its solid. This may cause volume mesh fail, I am looking
> > into it now, and might need to change some logic in the geom level of
> > cgm.
> >
> > Modified: cgm/trunk/geom/OCC/OCCCurve.cpp
> > ===================================================================
> > --- cgm/trunk/geom/OCC/OCCCurve.cpp 2011-08-09 22:27:32 UTC (rev 5087)
> > +++ cgm/trunk/geom/OCC/OCCCurve.cpp 2011-08-11 14:21:55 UTC (rev 5088)
> > @@ -123,10 +123,10 @@
> >
> > void OCCCurve::set_TopoDS_Edge(TopoDS_Edge edge)
> > {
> > - if(edge.IsEqual(*myTopoDSEdge))
> > + if(edge.IsSame(*myTopoDSEdge))
> > return;
> >
> > - if(!edge.IsSame(*myTopoDSEdge))
> > + else
> > {
> > DLIList<OCCPoint*> points ;
> > this->get_points(points);
> > @@ -737,8 +737,7 @@
> > double OCCCurve::start_param()
> > {
> > double start = 0.0, end = 0.0;
> > -
> > - get_param_range( start, end );
> > + get_param_range( start, end );
> > return start;
> > }
> >
> > @@ -781,29 +780,22 @@
> > {
> > TopTools_IndexedMapOfShape M;
> > TopExp::MapShapes(*myTopoDSEdge, TopAbs_VERTEX, M);
> > - TopologyBridge *point1, *point2;
> > - if (M.Extent()==1) {
> > - point1 = OCCQueryEngine::instance()->occ_to_cgm(M(1));
> > - if (point1)
> > - children.append_unique(point1);
> > - } else if (M.Extent()==2) {
> > - if ( fabs(BRep_Tool::Parameter(TopoDS::Vertex(M(1)),
> > *myTopoDSEdge)-start_param()) >
> > - fabs(BRep_Tool::Parameter(TopoDS::Vertex(M(2)),
> > *myTopoDSEdge)-start_param()) ) {
> > - point1 = OCCQueryEngine::instance()->occ_to_cgm(M(2));
> > - point2 = OCCQueryEngine::instance()->occ_to_cgm(M(1));
> > - } else {
> > - point1 = OCCQueryEngine::instance()->occ_to_cgm(M(1));
> > - point2 = OCCQueryEngine::instance()->occ_to_cgm(M(2));
> > - }
> > - if (point1 && point1 == point2) {
> > - children.append_unique(point1);
> > - } else {
> > - if (point1)
> > - children.append_unique(point1);
> > - if (point2)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/cgma-dev/attachments/20110812/b216c3c6/attachment.htm>


More information about the cgma-dev mailing list