[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