[cgma-dev] testgeom_occ

Timothy J. Tautges tautges at mcs.anl.gov
Wed May 23 21:45:17 CDT 2012


Haven't we released CGM 13.1?  Then the HEAD should be 13.1 too.

- tim

----- Original Message -----
From: "Jane Hu" <janejhu at gmail.com>
To: "Rajeev Jain" <jain at mcs.anl.gov>
Cc: "CGMA Development" <cgma-dev at mcs.anl.gov>
Sent: Monday, May 21, 2012 1:16:58 PM
Subject: Re: [cgma-dev] testgeom_occ

You may try merge_cubit13.1 branch, this has some minor function signature's changes, it shouldn't affect the result of running testcases in occ. 

Can you double check if a new_body is created in the copy_body process? I suspect that the problem is still in the copy_body place, where it didn't find underlining TopoDS_Shape. Then it could be just related to the OS, which may be a bug there. 

Jane 


On Mon, May 21, 2012 at 12:22 PM, Rajeev Jain < jain at mcs.anl.gov > wrote: 






Thanks Jane for looking into this, we made some progress, I made the changes you made to cgm repo version, I'm using CGM repo version with OCC-6.5 not the merge-cubit13.1 branch - should I use this branch instead? 


We made some progress with the change you made the error is now on line 6249 instead of 6233 in file iGeom_CGMA.cc, which is the subtract operation, the copy operation seems to have gone through, please see debugger o/p below: 


(gdb) r 
Starting program: /Users/rajeevjain/cgm/itaps/testgeom_occ 
Reading symbols for shared libraries ++++++++++++++++++++++++++++++..................................... done 

Using default input file: ./../test/LeverArm.brep 
Geometry engine set to: OpenCascade 6.5 




ITAPS GEOMETRY INTERFACE TEST PROGRAM: 


gLoad: 
Constructed 1 Volume: 1 
Model contents: 
vertices: 99 
edges: 159 
faces: 63 
regions: 1 
Success 
tags: Tags defined on model: GLOBAL_ID, NAME 
Success 
gentity sets: Success 
topology adjacencies: Success 
construct: Created swept volume 4 
Updated volume 3 
Success 
primitives: Success 
transforms: Success 


Program received signal EXC_BAD_ACCESS, Could not access memory. 
Reason: 13 at address: 0x0000000000000000 
0x00000001041f8edf in Handle_Standard_Transient::Assign () 
(gdb) bt 
#0 0x00000001041f8edf in Handle_Standard_Transient::Assign () 
#1 0x00000001031ee1e4 in BRepBuilderAPI_ModifyShape::DoModif () 
#2 0x00000001031e46c0 in BRepBuilderAPI_Copy::BRepBuilderAPI_Copy () 
#3 0x00000001000b286d in OCCModifyEngine::get_shape_list (this=0x104e04b70, BodySM_list=@0x7fff5fbff4f0, shape_list=@0x7fff5fbff318, is_volume=@0x7fff5fbff2f8, keep_old=true, b_boxes=0x104e8d3f0) at OCCModifyEngine.cpp:3535 
#4 0x000000010007e792 in OCCModifyEngine::subtract (this=0x104e04b70, tool_body_list=@0x7fff5fbff4f0, from_bodies=@0x7fff5fbff4d8, new_bodies=@0x7fff5fbff480, imprint=false, keep_old=false) at OCCModifyEngine.cpp:2212 
#5 0x00000001004a4cec in GeometryModifyTool::subtract (this=0x104e03280, tool_body_list=@0x7fff5fbff608, from_bodies=@0x7fff5fbff6f0, new_bodies=@0x7fff5fbff6d8, imprint=false, keep_old=false) at GeometryModifyTool.cpp:6368 
#6 0x00000001004a51de in GeometryModifyTool::subtract (this=0x104e03280, tool_body=0x104e8cb30, from_bodies=@0x7fff5fbff6f0, new_bodies=@0x7fff5fbff6d8, imprint=false, keep_old=false) at GeometryModifyTool.cpp:6305 
#7 0x0000000100028f21 in iGeom_subtractEnts (instance=0x10085e8c0, blank=0x104e7fe50, tool=0x104e7ef40, geom_entity=0x7fff5fbff8b0, err=0x7fff5fbff8cc) at iGeom_CGMA.cc:6249 
#8 0x0000000100006231 in booleans_test (geom=0x10085e8c0) at testgeom.cc:1136 
#9 0x000000010000e878 in main (argc=1, argv=0x7fff5fbffb78) at testgeom.cc:239 
(gdb) list 
129 } 
130 
131 int main( int argc, char *argv[] ) 
132 { 
133 // Check command line arg 
134 #ifdef FORCE_OCC 
135 #ifndef HAVE_OCC 
136 #error "Cannot force use of OCC w/out OCC support" 
137 #endif 
138 std::string filename = STRINGIFY(SRCDIR) "/../test/LeverArm.brep"; 

Rajeev 







From: Jane Hu < janejhu at gmail.com > 
To: Rajeev Jain < jain at mcs.anl.gov > 
Cc: CGMA Development < cgma-dev at mcs.anl.gov > 
Sent: Monday, May 21, 2012 10:11 AM 
Subject: Re: testgeom_occ 




Hi, Rajeev: 

I don't know exactly what's wrong with the Mac OS, I double checked that if the new_body is null, theCS pointer should not be null. However, I added a safety check on it just now. Can you double check to see if it works this time? 

Jane 


On Fri, May 18, 2012 at 3:34 PM, Rajeev Jain < jain at mcs.anl.gov > wrote: 





testgeom_occ on Mac OSX fails, when in copy_body routine, the call to IsBound fails: 
if(!new_body && OCCQueryEngine::instance()->OCCMap->IsBound(*theCS)) 





More information about the cgma-dev mailing list