[cgma-dev] r5088 - cgm/trunk/geom/OCC
Hong-Jun Kim
hongjun at mcs.anl.gov
Fri Aug 12 12:56:46 CDT 2011
Thanks.
The test is working for me.
Probably, I think I can find more problematic cases, then let you know them.
-----------------------------
Hong-Jun Kim
Post-doc researcher
MCS, Argonne National Laboratory
9700 S. Cass Ave. B240/R2147
Argonne, IL 60439
630-252-4791
hongjun at mcs.anl.gov
-----------------------------
----- Original Message -----
From: "Jane Hu" <janejhu at gmail.com>
To: "Jiangtao Hu" <jiangtao_ma at yahoo.com>
Cc: "Hong-Jun Kim" <hongjun at mcs.anl.gov>, cgma-dev at mcs.anl.gov
Sent: Friday, August 12, 2011 12:31:22 PM
Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
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 >
To: cgma-dev at 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 >
> To: cgma-dev at 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)
More information about the cgma-dev
mailing list