[cgma-dev] r1254 - cgm/trunk/cgm_apps/examples/driverc++

kraftche at mcs.anl.gov kraftche at mcs.anl.gov
Fri Aug 24 15:44:55 CDT 2007


Author: kraftche
Date: 2007-08-24 15:44:55 -0500 (Fri, 24 Aug 2007)
New Revision: 1254

Added:
   cgm/trunk/cgm_apps/examples/driverc++/model1.sat
   cgm/trunk/cgm_apps/examples/driverc++/model2.sat
   cgm/trunk/cgm_apps/examples/driverc++/model3.sat
   cgm/trunk/cgm_apps/examples/driverc++/model4.sat
   cgm/trunk/cgm_apps/examples/driverc++/model5.sat
   cgm/trunk/cgm_apps/examples/driverc++/model6.sat
   cgm/trunk/cgm_apps/examples/driverc++/model7.sat
   cgm/trunk/cgm_apps/examples/driverc++/webcut.cpp
Log:
o Add additional sweep termiantion options to GeometryModifyEngine::sweep*
o Reduce abstract webcut methods provided by engines to a single
  webcut with tool-body function.
o Move old webcut_* methods to common implementation for all engines in
  GeometryModifyEngine
o Add tests for webcut functions


Added: cgm/trunk/cgm_apps/examples/driverc++/model1.sat
===================================================================
--- cgm/trunk/cgm_apps/examples/driverc++/model1.sat	                        (rev 0)
+++ cgm/trunk/cgm_apps/examples/driverc++/model1.sat	2007-08-24 20:44:55 UTC (rev 1254)
@@ -0,0 +1,96 @@
+1600 0 2 0           
+10 Cubit 10.2 17 ACIS 16.0.1 Linux 24 Tue Aug  7 13:31:13 2007 
+1 9.9999999999999995e-07 1e-10 
+body $-1 -1 -1 $-1 $2 $-1 $3 T 4 4 4 14 14 14 #
+edge $-1 -1 -1 $-1 $4 0 $5 1.5707963267948966 $-1 $6 forward @7 unknown F #
+lump $-1 -1 -1 $-1 $-1 $7 $0 T 4 4 4 14 14 14 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+vertex $-1 -1 -1 $-1 $1 $8 #
+vertex $-1 -1 -1 $-1 $1 $9 #
+ellipse-curve $-1 -1 -1 $-1 4 4 14 1 -0 0 0 0 -10 1 I I #
+shell $-1 -1 -1 $-1 $-1 $-1 $10 $-1 $2 T 4 4 4 14 14 14 #
+point $-1 -1 -1 $-1 4 4 4 #
+point $-1 -1 -1 $-1 4 14 14 #
+face $-1 -1 -1 $-1 $11 $12 $7 $-1 $13 forward single T 4 4 14 14 14 14 F #
+face $-1 -1 -1 $-1 $14 $15 $7 $-1 $16 reversed single T 4 4 4 14 14 4 F #
+loop $-1 -1 -1 $-1 $-1 $17 $10 T 4 4 14 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 14 0 0 1 1 0 0 forward_v I I I I #
+face $-1 -1 -1 $-1 $18 $19 $7 $-1 $20 reversed single T 4 4 4 14 4 14 F #
+loop $-1 -1 -1 $-1 $-1 $21 $11 T 4 4 4 14 14 4 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 4 0 0 1 1 0 0 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $22 $23 $24 $25 forward $12 $-1 #
+face $-1 -1 -1 $-1 $26 $27 $7 $-1 $28 reversed single T 4 4 4 4 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $29 $14 T 4 4 4 14 4 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 4 9 0 1 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $30 $31 $32 $33 forward $15 $-1 #
+coedge $-1 -1 -1 $-1 $34 $17 $35 $36 forward $12 $-1 #
+coedge $-1 -1 -1 $-1 $17 $34 $37 $38 forward $12 $-1 #
+coedge $-1 -1 -1 $-1 $39 $40 $17 $25 reversed $41 $-1 #
+edge $-1 -1 -1 $-1 $42 -5 $43 5 $24 $44 forward @7 unknown T 14 4 14 14 14 14 #
+face $-1 -1 -1 $-1 $45 $46 $7 $-1 $47 reversed single T 4 14 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $48 $18 T 4 4 4 4 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $49 $37 $50 $51 forward $19 $-1 #
+coedge $-1 -1 -1 $-1 $52 $21 $49 $53 forward $15 $-1 #
+coedge $-1 -1 -1 $-1 $21 $52 $54 $55 forward $15 $-1 #
+coedge $-1 -1 -1 $-1 $40 $39 $21 $33 reversed $41 $-1 #
+edge $-1 -1 -1 $-1 $56 -5 $57 5 $32 $58 forward @7 unknown T 14 4 4 14 14 4 #
+coedge $-1 -1 -1 $-1 $23 $22 $59 $60 forward $12 $-1 #
+coedge $-1 -1 -1 $-1 $61 $62 $22 $36 reversed $46 $-1 #
+edge $-1 -1 -1 $-1 $43 -5 $63 5 $35 $64 forward @7 unknown T 4 14 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $29 $65 $23 $38 reversed $19 $-1 #
+edge $-1 -1 -1 $-1 $66 -5 $42 5 $37 $67 forward @7 unknown T 4 4 14 14 4 14 #
+coedge $-1 -1 -1 $-1 $32 $24 $65 $68 forward $41 $-1 #
+coedge $-1 -1 -1 $-1 $24 $32 $61 $69 reversed $41 $-1 #
+loop $-1 -1 -1 $-1 $-1 $39 $45 T 14 4 4 14 14 14 unknown #
+vertex $-1 -1 -1 $-1 $25 $70 #
+vertex $-1 -1 -1 $-1 $25 $71 #
+straight-curve $-1 -1 -1 $-1 14 9 14 0 1 0 I I #
+face $-1 -1 -1 $-1 $-1 $41 $7 $-1 $72 reversed single T 14 4 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $61 $26 T 4 14 4 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 14 9 0 -1 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $73 $59 $62 $74 forward $27 $-1 #
+coedge $-1 -1 -1 $-1 $65 $29 $30 $53 reversed $19 $-1 #
+coedge $-1 -1 -1 $-1 $59 $73 $29 $51 reversed $27 $-1 #
+edge $-1 -1 -1 $-1 $66 -5 $75 5 $50 $76 forward @7 unknown T 4 4 4 4 4 14 #
+coedge $-1 -1 -1 $-1 $31 $30 $73 $77 forward $15 $-1 #
+edge $-1 -1 -1 $-1 $57 -5 $75 5 $49 $78 forward @7 unknown T 4 4 4 14 4 4 #
+coedge $-1 -1 -1 $-1 $62 $61 $31 $55 reversed $46 $-1 #
+edge $-1 -1 -1 $-1 $79 -5 $56 5 $54 $80 forward @7 unknown T 4 14 4 14 14 4 #
+vertex $-1 -1 -1 $-1 $33 $81 #
+vertex $-1 -1 -1 $-1 $68 $82 #
+straight-curve $-1 -1 -1 $-1 14 9 4 0 -1 0 I I #
+coedge $-1 -1 -1 $-1 $48 $50 $34 $60 reversed $27 $-1 #
+edge $-1 -1 -1 $-1 $63 -5 $66 5 $59 $83 forward @7 unknown T 4 4 14 4 14 14 #
+coedge $-1 -1 -1 $-1 $54 $35 $40 $69 forward $46 $-1 #
+coedge $-1 -1 -1 $-1 $35 $54 $48 $74 reversed $46 $-1 #
+vertex $-1 -1 -1 $-1 $36 $84 #
+straight-curve $-1 -1 -1 $-1 9 14 14 -1 0 0 I I #
+coedge $-1 -1 -1 $-1 $37 $49 $39 $68 reversed $19 $-1 #
+vertex $-1 -1 -1 $-1 $60 $85 #
+straight-curve $-1 -1 -1 $-1 9 4 14 1 0 0 I I #
+edge $-1 -1 -1 $-1 $42 -5 $57 5 $39 $86 forward @7 unknown T 14 4 4 14 4 14 #
+edge $-1 -1 -1 $-1 $43 -5 $56 5 $40 $87 forward @7 unknown T 14 14 4 14 14 14 #
+point $-1 -1 -1 $-1 14 4 14 #
+point $-1 -1 -1 $-1 14 14 14 #
+plane-surface $-1 -1 -1 $-1 14 9 9 -1 0 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $50 $48 $52 $77 reversed $27 $-1 #
+edge $-1 -1 -1 $-1 $63 -5 $79 5 $62 $88 forward @7 unknown T 4 14 4 4 14 14 #
+vertex $-1 -1 -1 $-1 $77 $89 #
+straight-curve $-1 -1 -1 $-1 4 4 9 0 0 -1 I I #
+edge $-1 -1 -1 $-1 $75 -5 $79 5 $73 $90 forward @7 unknown T 4 4 4 4 14 4 #
+straight-curve $-1 -1 -1 $-1 9 4 4 -1 0 0 I I #
+vertex $-1 -1 -1 $-1 $55 $91 #
+straight-curve $-1 -1 -1 $-1 9 14 4 1 0 0 I I #
+point $-1 -1 -1 $-1 14 14 4 #
+point $-1 -1 -1 $-1 14 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 14 0 -1 0 I I #
+point $-1 -1 -1 $-1 4 14 14 #
+point $-1 -1 -1 $-1 4 4 14 #
+straight-curve $-1 -1 -1 $-1 14 4 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 14 14 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 4 14 9 0 0 -1 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 4 0 1 0 I I #
+point $-1 -1 -1 $-1 4 14 4 #
+End-of-ACIS-data 
\ No newline at end of file

Added: cgm/trunk/cgm_apps/examples/driverc++/model2.sat
===================================================================
--- cgm/trunk/cgm_apps/examples/driverc++/model2.sat	                        (rev 0)
+++ cgm/trunk/cgm_apps/examples/driverc++/model2.sat	2007-08-24 20:44:55 UTC (rev 1254)
@@ -0,0 +1,90 @@
+1600 0 1 0           
+10 Cubit 10.2 14 ACIS 16.0.1 NT 24 Mon Jul 30 10:57:05 2007 
+1 9.9999999999999995e-007 1e-010 
+body $-1 -1 -1 $-1 $1 $-1 $2 T 4 4 4 14 14 14 #
+lump $-1 -1 -1 $-1 $-1 $3 $0 T 4 4 4 14 14 14 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+shell $-1 -1 -1 $-1 $-1 $-1 $4 $-1 $1 T 4 4 4 14 14 14 #
+face $-1 -1 -1 $-1 $5 $6 $3 $-1 $7 forward single T 4 4 14 14 14 14 F #
+face $-1 -1 -1 $-1 $8 $9 $3 $-1 $10 reversed single T 4 4 4 14 14 4 F #
+loop $-1 -1 -1 $-1 $-1 $11 $4 T 4 4 14 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 14 0 0 1 1 0 0 forward_v I I I I #
+face $-1 -1 -1 $-1 $12 $13 $3 $-1 $14 reversed single T 4 4 4 14 4 14 F #
+loop $-1 -1 -1 $-1 $-1 $15 $5 T 4 4 4 14 14 4 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 4 0 0 1 1 0 0 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $16 $17 $18 $19 forward $6 $-1 #
+face $-1 -1 -1 $-1 $20 $21 $3 $-1 $22 reversed single T 4 4 4 4 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $23 $8 T 4 4 4 14 4 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 4 9 0 1 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $24 $25 $26 $27 forward $9 $-1 #
+coedge $-1 -1 -1 $-1 $28 $11 $29 $30 forward $6 $-1 #
+coedge $-1 -1 -1 $-1 $11 $28 $31 $32 forward $6 $-1 #
+coedge $-1 -1 -1 $-1 $33 $34 $11 $19 reversed $35 $-1 #
+edge $-1 -1 -1 $-1 $36 -5 $37 5 $18 $38 forward @7 unknown T 14 4 14 14 14 14 #
+face $-1 -1 -1 $-1 $39 $40 $3 $-1 $41 reversed single T 4 14 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $42 $12 T 4 4 4 4 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $43 $31 $44 $45 forward $13 $-1 #
+coedge $-1 -1 -1 $-1 $46 $15 $43 $47 forward $9 $-1 #
+coedge $-1 -1 -1 $-1 $15 $46 $48 $49 forward $9 $-1 #
+coedge $-1 -1 -1 $-1 $34 $33 $15 $27 reversed $35 $-1 #
+edge $-1 -1 -1 $-1 $50 -5 $51 5 $26 $52 forward @7 unknown T 14 4 4 14 14 4 #
+coedge $-1 -1 -1 $-1 $17 $16 $53 $54 forward $6 $-1 #
+coedge $-1 -1 -1 $-1 $55 $56 $16 $30 reversed $40 $-1 #
+edge $-1 -1 -1 $-1 $37 -5 $57 5 $29 $58 forward @7 unknown T 4 14 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $23 $59 $17 $32 reversed $13 $-1 #
+edge $-1 -1 -1 $-1 $60 -5 $36 5 $31 $61 forward @7 unknown T 4 4 14 14 4 14 #
+coedge $-1 -1 -1 $-1 $26 $18 $59 $62 forward $35 $-1 #
+coedge $-1 -1 -1 $-1 $18 $26 $55 $63 reversed $35 $-1 #
+loop $-1 -1 -1 $-1 $-1 $33 $39 T 14 4 4 14 14 14 unknown #
+vertex $-1 -1 -1 $-1 $19 $64 #
+vertex $-1 -1 -1 $-1 $19 $65 #
+straight-curve $-1 -1 -1 $-1 14 9 14 0 1 0 I I #
+face $-1 -1 -1 $-1 $-1 $35 $3 $-1 $66 reversed single T 14 4 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $55 $20 T 4 14 4 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 14 9 0 -1 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $67 $53 $56 $68 forward $21 $-1 #
+coedge $-1 -1 -1 $-1 $59 $23 $24 $47 reversed $13 $-1 #
+coedge $-1 -1 -1 $-1 $53 $67 $23 $45 reversed $21 $-1 #
+edge $-1 -1 -1 $-1 $60 -5 $69 5 $44 $70 forward @7 unknown T 4 4 4 4 4 14 #
+coedge $-1 -1 -1 $-1 $25 $24 $67 $71 forward $9 $-1 #
+edge $-1 -1 -1 $-1 $51 -5 $69 5 $43 $72 forward @7 unknown T 4 4 4 14 4 4 #
+coedge $-1 -1 -1 $-1 $56 $55 $25 $49 reversed $40 $-1 #
+edge $-1 -1 -1 $-1 $73 -5 $50 5 $48 $74 forward @7 unknown T 4 14 4 14 14 4 #
+vertex $-1 -1 -1 $-1 $27 $75 #
+vertex $-1 -1 -1 $-1 $62 $76 #
+straight-curve $-1 -1 -1 $-1 14 9 4 0 -1 0 I I #
+coedge $-1 -1 -1 $-1 $42 $44 $28 $54 reversed $21 $-1 #
+edge $-1 -1 -1 $-1 $57 -5 $60 5 $53 $77 forward @7 unknown T 4 4 14 4 14 14 #
+coedge $-1 -1 -1 $-1 $48 $29 $34 $63 forward $40 $-1 #
+coedge $-1 -1 -1 $-1 $29 $48 $42 $68 reversed $40 $-1 #
+vertex $-1 -1 -1 $-1 $30 $78 #
+straight-curve $-1 -1 -1 $-1 9 14 14 -1 0 0 I I #
+coedge $-1 -1 -1 $-1 $31 $43 $33 $62 reversed $13 $-1 #
+vertex $-1 -1 -1 $-1 $54 $79 #
+straight-curve $-1 -1 -1 $-1 9 4 14 1 0 0 I I #
+edge $-1 -1 -1 $-1 $36 -5 $51 5 $33 $80 forward @7 unknown T 14 4 4 14 4 14 #
+edge $-1 -1 -1 $-1 $37 -5 $50 5 $34 $81 forward @7 unknown T 14 14 4 14 14 14 #
+point $-1 -1 -1 $-1 14 4 14 #
+point $-1 -1 -1 $-1 14 14 14 #
+plane-surface $-1 -1 -1 $-1 14 9 9 -1 0 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $44 $42 $46 $71 reversed $21 $-1 #
+edge $-1 -1 -1 $-1 $57 -5 $73 5 $56 $82 forward @7 unknown T 4 14 4 4 14 14 #
+vertex $-1 -1 -1 $-1 $71 $83 #
+straight-curve $-1 -1 -1 $-1 4 4 9 0 0 -1 I I #
+edge $-1 -1 -1 $-1 $69 -5 $73 5 $67 $84 forward @7 unknown T 4 4 4 4 14 4 #
+straight-curve $-1 -1 -1 $-1 9 4 4 -1 0 0 I I #
+vertex $-1 -1 -1 $-1 $49 $85 #
+straight-curve $-1 -1 -1 $-1 9 14 4 1 0 0 I I #
+point $-1 -1 -1 $-1 14 14 4 #
+point $-1 -1 -1 $-1 14 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 14 0 -1 0 I I #
+point $-1 -1 -1 $-1 4 14 14 #
+point $-1 -1 -1 $-1 4 4 14 #
+straight-curve $-1 -1 -1 $-1 14 4 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 14 14 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 4 14 9 0 0 -1 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 4 0 1 0 I I #
+point $-1 -1 -1 $-1 4 14 4 #
+End-of-ACIS-data 
\ No newline at end of file

Added: cgm/trunk/cgm_apps/examples/driverc++/model3.sat
===================================================================
--- cgm/trunk/cgm_apps/examples/driverc++/model3.sat	                        (rev 0)
+++ cgm/trunk/cgm_apps/examples/driverc++/model3.sat	2007-08-24 20:44:55 UTC (rev 1254)
@@ -0,0 +1,102 @@
+1600 0 3 0           
+10 Cubit 10.2 17 ACIS 16.0.1 Linux 24 Wed Aug  8 10:41:18 2007 
+1 9.9999999999999995e-07 1e-10 
+body $-1 -1 -1 $-1 $3 $-1 $4 T 4 4 4 14 14 14 #
+edge $-1 -1 -1 $-1 $5 -3.7826608214930642 $6 3.8331122843708445 $-1 $7 forward @7 unknown F #
+edge $-1 -1 -1 $-1 $8 -0.52522573143889106 $9 7.090547374425018 $-1 $10 forward @7 unknown F #
+lump $-1 -1 -1 $-1 $-1 $11 $0 T 4 4 4 14 14 14 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+vertex $-1 -1 -1 $-1 $1 $12 #
+vertex $-1 -1 -1 $-1 $1 $13 #
+straight-curve $-1 -1 -1 $-1 4 7.4768138943193732 5.4900630975654474 -0 0.91914503001805781 0.39391929857916802 I I #
+vertex $-1 -1 -1 $-1 $2 $14 #
+vertex $-1 -1 -1 $-1 $2 $15 #
+straight-curve $-1 -1 -1 $-1 4 11.206896551724139 7.4827586206896557 -0 0.39391929857916724 0.91914503001805814 I I #
+shell $-1 -1 -1 $-1 $-1 $-1 $16 $-1 $3 T 4 4 4 14 14 14 #
+point $-1 -1 -1 $-1 4 4 4 #
+point $-1 -1 -1 $-1 4 11 7 #
+point $-1 -1 -1 $-1 4 11 7 #
+point $-1 -1 -1 $-1 4 14 14 #
+face $-1 -1 -1 $-1 $17 $18 $11 $-1 $19 forward single T 4 4 14 14 14 14 F #
+face $-1 -1 -1 $-1 $20 $21 $11 $-1 $22 reversed single T 4 4 4 14 14 4 F #
+loop $-1 -1 -1 $-1 $-1 $23 $16 T 4 4 14 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 14 0 0 1 1 0 0 forward_v I I I I #
+face $-1 -1 -1 $-1 $24 $25 $11 $-1 $26 reversed single T 4 4 4 14 4 14 F #
+loop $-1 -1 -1 $-1 $-1 $27 $17 T 4 4 4 14 14 4 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 4 0 0 1 1 0 0 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $28 $29 $30 $31 forward $18 $-1 #
+face $-1 -1 -1 $-1 $32 $33 $11 $-1 $34 reversed single T 4 4 4 4 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $35 $20 T 4 4 4 14 4 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 4 9 0 1 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $36 $37 $38 $39 forward $21 $-1 #
+coedge $-1 -1 -1 $-1 $40 $23 $41 $42 forward $18 $-1 #
+coedge $-1 -1 -1 $-1 $23 $40 $43 $44 forward $18 $-1 #
+coedge $-1 -1 -1 $-1 $45 $46 $23 $31 reversed $47 $-1 #
+edge $-1 -1 -1 $-1 $48 -5 $49 5 $30 $50 forward @7 unknown T 14 4 14 14 14 14 #
+face $-1 -1 -1 $-1 $51 $52 $11 $-1 $53 reversed single T 4 14 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $54 $24 T 4 4 4 4 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $55 $43 $56 $57 forward $25 $-1 #
+coedge $-1 -1 -1 $-1 $58 $27 $55 $59 forward $21 $-1 #
+coedge $-1 -1 -1 $-1 $27 $58 $60 $61 forward $21 $-1 #
+coedge $-1 -1 -1 $-1 $46 $45 $27 $39 reversed $47 $-1 #
+edge $-1 -1 -1 $-1 $62 -5 $63 5 $38 $64 forward @7 unknown T 14 4 4 14 14 4 #
+coedge $-1 -1 -1 $-1 $29 $28 $65 $66 forward $18 $-1 #
+coedge $-1 -1 -1 $-1 $67 $68 $28 $42 reversed $52 $-1 #
+edge $-1 -1 -1 $-1 $49 -5 $69 5 $41 $70 forward @7 unknown T 4 14 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $35 $71 $29 $44 reversed $25 $-1 #
+edge $-1 -1 -1 $-1 $72 -5 $48 5 $43 $73 forward @7 unknown T 4 4 14 14 4 14 #
+coedge $-1 -1 -1 $-1 $38 $30 $71 $74 forward $47 $-1 #
+coedge $-1 -1 -1 $-1 $30 $38 $67 $75 reversed $47 $-1 #
+loop $-1 -1 -1 $-1 $-1 $45 $51 T 14 4 4 14 14 14 unknown #
+vertex $-1 -1 -1 $-1 $31 $76 #
+vertex $-1 -1 -1 $-1 $31 $77 #
+straight-curve $-1 -1 -1 $-1 14 9 14 0 1 0 I I #
+face $-1 -1 -1 $-1 $-1 $47 $11 $-1 $78 reversed single T 14 4 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $67 $32 T 4 14 4 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 14 9 0 -1 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $79 $65 $68 $80 forward $33 $-1 #
+coedge $-1 -1 -1 $-1 $71 $35 $36 $59 reversed $25 $-1 #
+coedge $-1 -1 -1 $-1 $65 $79 $35 $57 reversed $33 $-1 #
+edge $-1 -1 -1 $-1 $72 -5 $81 5 $56 $82 forward @7 unknown T 4 4 4 4 4 14 #
+coedge $-1 -1 -1 $-1 $37 $36 $79 $83 forward $21 $-1 #
+edge $-1 -1 -1 $-1 $63 -5 $81 5 $55 $84 forward @7 unknown T 4 4 4 14 4 4 #
+coedge $-1 -1 -1 $-1 $68 $67 $37 $61 reversed $52 $-1 #
+edge $-1 -1 -1 $-1 $85 -5 $62 5 $60 $86 forward @7 unknown T 4 14 4 14 14 4 #
+vertex $-1 -1 -1 $-1 $39 $87 #
+vertex $-1 -1 -1 $-1 $74 $88 #
+straight-curve $-1 -1 -1 $-1 14 9 4 0 -1 0 I I #
+coedge $-1 -1 -1 $-1 $54 $56 $40 $66 reversed $33 $-1 #
+edge $-1 -1 -1 $-1 $69 -5 $72 5 $65 $89 forward @7 unknown T 4 4 14 4 14 14 #
+coedge $-1 -1 -1 $-1 $60 $41 $46 $75 forward $52 $-1 #
+coedge $-1 -1 -1 $-1 $41 $60 $54 $80 reversed $52 $-1 #
+vertex $-1 -1 -1 $-1 $42 $90 #
+straight-curve $-1 -1 -1 $-1 9 14 14 -1 0 0 I I #
+coedge $-1 -1 -1 $-1 $43 $55 $45 $74 reversed $25 $-1 #
+vertex $-1 -1 -1 $-1 $66 $91 #
+straight-curve $-1 -1 -1 $-1 9 4 14 1 0 0 I I #
+edge $-1 -1 -1 $-1 $48 -5 $63 5 $45 $92 forward @7 unknown T 14 4 4 14 4 14 #
+edge $-1 -1 -1 $-1 $49 -5 $62 5 $46 $93 forward @7 unknown T 14 14 4 14 14 14 #
+point $-1 -1 -1 $-1 14 4 14 #
+point $-1 -1 -1 $-1 14 14 14 #
+plane-surface $-1 -1 -1 $-1 14 9 9 -1 0 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $56 $54 $58 $83 reversed $33 $-1 #
+edge $-1 -1 -1 $-1 $69 -5 $85 5 $68 $94 forward @7 unknown T 4 14 4 4 14 14 #
+vertex $-1 -1 -1 $-1 $83 $95 #
+straight-curve $-1 -1 -1 $-1 4 4 9 0 0 -1 I I #
+edge $-1 -1 -1 $-1 $81 -5 $85 5 $79 $96 forward @7 unknown T 4 4 4 4 14 4 #
+straight-curve $-1 -1 -1 $-1 9 4 4 -1 0 0 I I #
+vertex $-1 -1 -1 $-1 $61 $97 #
+straight-curve $-1 -1 -1 $-1 9 14 4 1 0 0 I I #
+point $-1 -1 -1 $-1 14 14 4 #
+point $-1 -1 -1 $-1 14 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 14 0 -1 0 I I #
+point $-1 -1 -1 $-1 4 14 14 #
+point $-1 -1 -1 $-1 4 4 14 #
+straight-curve $-1 -1 -1 $-1 14 4 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 14 14 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 4 14 9 0 0 -1 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 4 0 1 0 I I #
+point $-1 -1 -1 $-1 4 14 4 #
+End-of-ACIS-data 
\ No newline at end of file

Added: cgm/trunk/cgm_apps/examples/driverc++/model4.sat
===================================================================
--- cgm/trunk/cgm_apps/examples/driverc++/model4.sat	                        (rev 0)
+++ cgm/trunk/cgm_apps/examples/driverc++/model4.sat	2007-08-24 20:44:55 UTC (rev 1254)
@@ -0,0 +1,114 @@
+1600 0 5 0           
+10 Cubit 10.2 17 ACIS 16.0.1 Linux 24 Wed Aug  8 14:02:32 2007 
+1 9.9999999999999995e-07 1e-10 
+body $-1 -1 -1 $-1 $5 $-1 $6 T 4 4 4 14 14 14 #
+edge $-1 -1 -1 $-1 $7 -2 $8 8 $-1 $9 forward @7 unknown F #
+edge $-1 -1 -1 $-1 $10 -2.5 $11 7.5 $-1 $12 forward @7 unknown F #
+edge $-1 -1 -1 $-1 $13 -3 $14 7 $-1 $15 forward @7 unknown F #
+edge $-1 -1 -1 $-1 $16 -2.5 $17 7.5 $-1 $18 forward @7 unknown F #
+lump $-1 -1 -1 $-1 $-1 $19 $0 T 4 4 4 14 14 14 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+vertex $-1 -1 -1 $-1 $1 $20 #
+vertex $-1 -1 -1 $-1 $1 $21 #
+straight-curve $-1 -1 -1 $-1 4 12 9 0 -1 0 I I #
+vertex $-1 -1 -1 $-1 $2 $22 #
+vertex $-1 -1 -1 $-1 $2 $23 #
+straight-curve $-1 -1 -1 $-1 6.5 4 9 1 -0 0 I I #
+vertex $-1 -1 -1 $-1 $3 $24 #
+vertex $-1 -1 -1 $-1 $3 $25 #
+straight-curve $-1 -1 -1 $-1 14 7 9 0 1 0 I I #
+vertex $-1 -1 -1 $-1 $4 $26 #
+vertex $-1 -1 -1 $-1 $4 $27 #
+straight-curve $-1 -1 -1 $-1 11.5 14 9 -1 -0 -0 I I #
+shell $-1 -1 -1 $-1 $-1 $-1 $28 $-1 $5 T 4 4 4 14 14 14 #
+point $-1 -1 -1 $-1 4 14 9 #
+point $-1 -1 -1 $-1 4 4 9 #
+point $-1 -1 -1 $-1 4 4 9 #
+point $-1 -1 -1 $-1 14 4 9 #
+point $-1 -1 -1 $-1 14 4 9 #
+point $-1 -1 -1 $-1 14 14 9 #
+point $-1 -1 -1 $-1 14 14 9 #
+point $-1 -1 -1 $-1 4 14 9 #
+face $-1 -1 -1 $-1 $29 $30 $19 $-1 $31 forward single T 4 4 14 14 14 14 F #
+face $-1 -1 -1 $-1 $32 $33 $19 $-1 $34 reversed single T 4 4 4 14 14 4 F #
+loop $-1 -1 -1 $-1 $-1 $35 $28 T 4 4 14 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 14 0 0 1 1 0 0 forward_v I I I I #
+face $-1 -1 -1 $-1 $36 $37 $19 $-1 $38 reversed single T 4 4 4 14 4 14 F #
+loop $-1 -1 -1 $-1 $-1 $39 $29 T 4 4 4 14 14 4 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 4 0 0 1 1 0 0 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $40 $41 $42 $43 forward $30 $-1 #
+face $-1 -1 -1 $-1 $44 $45 $19 $-1 $46 reversed single T 4 4 4 4 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $47 $32 T 4 4 4 14 4 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 4 9 0 1 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $48 $49 $50 $51 forward $33 $-1 #
+coedge $-1 -1 -1 $-1 $52 $35 $53 $54 forward $30 $-1 #
+coedge $-1 -1 -1 $-1 $35 $52 $55 $56 forward $30 $-1 #
+coedge $-1 -1 -1 $-1 $57 $58 $35 $43 reversed $59 $-1 #
+edge $-1 -1 -1 $-1 $60 -5 $61 5 $42 $62 forward @7 unknown T 14 4 14 14 14 14 #
+face $-1 -1 -1 $-1 $63 $64 $19 $-1 $65 reversed single T 4 14 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $66 $36 T 4 4 4 4 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $67 $55 $68 $69 forward $37 $-1 #
+coedge $-1 -1 -1 $-1 $70 $39 $67 $71 forward $33 $-1 #
+coedge $-1 -1 -1 $-1 $39 $70 $72 $73 forward $33 $-1 #
+coedge $-1 -1 -1 $-1 $58 $57 $39 $51 reversed $59 $-1 #
+edge $-1 -1 -1 $-1 $74 -5 $75 5 $50 $76 forward @7 unknown T 14 4 4 14 14 4 #
+coedge $-1 -1 -1 $-1 $41 $40 $77 $78 forward $30 $-1 #
+coedge $-1 -1 -1 $-1 $79 $80 $40 $54 reversed $64 $-1 #
+edge $-1 -1 -1 $-1 $61 -5 $81 5 $53 $82 forward @7 unknown T 4 14 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $47 $83 $41 $56 reversed $37 $-1 #
+edge $-1 -1 -1 $-1 $84 -5 $60 5 $55 $85 forward @7 unknown T 4 4 14 14 4 14 #
+coedge $-1 -1 -1 $-1 $50 $42 $83 $86 forward $59 $-1 #
+coedge $-1 -1 -1 $-1 $42 $50 $79 $87 reversed $59 $-1 #
+loop $-1 -1 -1 $-1 $-1 $57 $63 T 14 4 4 14 14 14 unknown #
+vertex $-1 -1 -1 $-1 $43 $88 #
+vertex $-1 -1 -1 $-1 $43 $89 #
+straight-curve $-1 -1 -1 $-1 14 9 14 0 1 0 I I #
+face $-1 -1 -1 $-1 $-1 $59 $19 $-1 $90 reversed single T 14 4 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $79 $44 T 4 14 4 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 14 9 0 -1 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $91 $77 $80 $92 forward $45 $-1 #
+coedge $-1 -1 -1 $-1 $83 $47 $48 $71 reversed $37 $-1 #
+coedge $-1 -1 -1 $-1 $77 $91 $47 $69 reversed $45 $-1 #
+edge $-1 -1 -1 $-1 $84 -5 $93 5 $68 $94 forward @7 unknown T 4 4 4 4 4 14 #
+coedge $-1 -1 -1 $-1 $49 $48 $91 $95 forward $33 $-1 #
+edge $-1 -1 -1 $-1 $75 -5 $93 5 $67 $96 forward @7 unknown T 4 4 4 14 4 4 #
+coedge $-1 -1 -1 $-1 $80 $79 $49 $73 reversed $64 $-1 #
+edge $-1 -1 -1 $-1 $97 -5 $74 5 $72 $98 forward @7 unknown T 4 14 4 14 14 4 #
+vertex $-1 -1 -1 $-1 $51 $99 #
+vertex $-1 -1 -1 $-1 $86 $100 #
+straight-curve $-1 -1 -1 $-1 14 9 4 0 -1 0 I I #
+coedge $-1 -1 -1 $-1 $66 $68 $52 $78 reversed $45 $-1 #
+edge $-1 -1 -1 $-1 $81 -5 $84 5 $77 $101 forward @7 unknown T 4 4 14 4 14 14 #
+coedge $-1 -1 -1 $-1 $72 $53 $58 $87 forward $64 $-1 #
+coedge $-1 -1 -1 $-1 $53 $72 $66 $92 reversed $64 $-1 #
+vertex $-1 -1 -1 $-1 $54 $102 #
+straight-curve $-1 -1 -1 $-1 9 14 14 -1 0 0 I I #
+coedge $-1 -1 -1 $-1 $55 $67 $57 $86 reversed $37 $-1 #
+vertex $-1 -1 -1 $-1 $78 $103 #
+straight-curve $-1 -1 -1 $-1 9 4 14 1 0 0 I I #
+edge $-1 -1 -1 $-1 $60 -5 $75 5 $57 $104 forward @7 unknown T 14 4 4 14 4 14 #
+edge $-1 -1 -1 $-1 $61 -5 $74 5 $58 $105 forward @7 unknown T 14 14 4 14 14 14 #
+point $-1 -1 -1 $-1 14 4 14 #
+point $-1 -1 -1 $-1 14 14 14 #
+plane-surface $-1 -1 -1 $-1 14 9 9 -1 0 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $68 $66 $70 $95 reversed $45 $-1 #
+edge $-1 -1 -1 $-1 $81 -5 $97 5 $80 $106 forward @7 unknown T 4 14 4 4 14 14 #
+vertex $-1 -1 -1 $-1 $95 $107 #
+straight-curve $-1 -1 -1 $-1 4 4 9 0 0 -1 I I #
+edge $-1 -1 -1 $-1 $93 -5 $97 5 $91 $108 forward @7 unknown T 4 4 4 4 14 4 #
+straight-curve $-1 -1 -1 $-1 9 4 4 -1 0 0 I I #
+vertex $-1 -1 -1 $-1 $73 $109 #
+straight-curve $-1 -1 -1 $-1 9 14 4 1 0 0 I I #
+point $-1 -1 -1 $-1 14 14 4 #
+point $-1 -1 -1 $-1 14 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 14 0 -1 0 I I #
+point $-1 -1 -1 $-1 4 14 14 #
+point $-1 -1 -1 $-1 4 4 14 #
+straight-curve $-1 -1 -1 $-1 14 4 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 14 14 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 4 14 9 0 0 -1 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 4 0 1 0 I I #
+point $-1 -1 -1 $-1 4 14 4 #
+End-of-ACIS-data 
\ No newline at end of file

Added: cgm/trunk/cgm_apps/examples/driverc++/model5.sat
===================================================================
--- cgm/trunk/cgm_apps/examples/driverc++/model5.sat	                        (rev 0)
+++ cgm/trunk/cgm_apps/examples/driverc++/model5.sat	2007-08-24 20:44:55 UTC (rev 1254)
@@ -0,0 +1,116 @@
+1600 0 2 0           
+10 Cubit 10.2 17 ACIS 16.0.1 Linux 24 Thu Aug  9 13:12:08 2007 
+1 9.9999999999999995e-07 1e-10 
+body $-1 -1 -1 $-1 $2 $-1 $3 T 4 4 4 14 14 14 #
+body $-1 -1 -1 $-1 $4 $-1 $5 T 19 7 7 21 11 11 #
+lump $-1 -1 -1 $-1 $-1 $6 $0 T 4 4 4 14 14 14 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+lump $-1 -1 -1 $-1 $-1 $7 $1 T 19 7 7 21 11 11 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+shell $-1 -1 -1 $-1 $-1 $-1 $8 $-1 $2 T 4 4 4 14 14 14 #
+shell $-1 -1 -1 $-1 $-1 $-1 $9 $-1 $4 T 19 7 7 21 11 11 #
+face $-1 -1 -1 $-1 $10 $11 $6 $-1 $12 forward single T 4 4 14 14 14 14 F #
+face $-1 -1 -1 $-1 $13 $14 $7 $-1 $15 forward single T 19 7 7 21 11 11 F #
+face $-1 -1 -1 $-1 $16 $17 $6 $-1 $18 reversed single T 4 4 4 14 14 4 F #
+loop $-1 -1 -1 $-1 $-1 $19 $8 T 4 4 14 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 14 0 0 1 1 0 0 forward_v I I I I #
+face $-1 -1 -1 $-1 $20 $21 $7 $-1 $22 forward single T 19 7 7 19 11 11 F #
+loop $-1 -1 -1 $-1 $23 $24 $9 T 19 7 7 19 11 11 unknown #
+cone-surface $-1 -1 -1 $-1 20 9 9 1 -6.1232339957367648e-17 6.1232339957367648e-17 9.1848509936051472e-17 1.5 0 1 I I -0.44721359549995793 0.89442719099991586 1.5 forward I I I I #
+face $-1 -1 -1 $-1 $25 $26 $6 $-1 $27 reversed single T 4 4 4 14 4 14 F #
+loop $-1 -1 -1 $-1 $-1 $28 $10 T 4 4 4 14 14 4 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 4 0 0 1 1 0 0 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $29 $30 $31 $32 forward $11 $-1 #
+face $-1 -1 -1 $-1 $-1 $33 $7 $-1 $34 forward single T 21 8 8 21 10 10 F #
+loop $-1 -1 -1 $-1 $-1 $35 $13 T 19 7 7 19 11 11 unknown #
+plane-surface $-1 -1 -1 $-1 19 9 9 -1 6.1232339957367648e-17 -6.1232339957367648e-17 -6.1232339957367648e-17 -1 0 forward_v I I I I #
+loop $-1 -1 -1 $-1 $-1 $36 $9 T 21 8 8 21 10 10 unknown #
+coedge $-1 -1 -1 $-1 $24 $24 $35 $37 reversed $14 $-1 #
+face $-1 -1 -1 $-1 $38 $39 $6 $-1 $40 reversed single T 4 4 4 4 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $41 $16 T 4 4 4 14 4 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 4 9 0 1 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $42 $43 $44 $45 forward $17 $-1 #
+coedge $-1 -1 -1 $-1 $46 $19 $47 $48 forward $11 $-1 #
+coedge $-1 -1 -1 $-1 $19 $46 $49 $50 forward $11 $-1 #
+coedge $-1 -1 -1 $-1 $51 $52 $19 $32 reversed $53 $-1 #
+edge $-1 -1 -1 $-1 $54 -5 $55 5 $31 $56 forward @7 unknown T 14 4 14 14 14 14 #
+loop $-1 -1 -1 $-1 $-1 $57 $20 T 21 8 8 21 10 10 unknown #
+plane-surface $-1 -1 -1 $-1 21 9 9 1 -6.1232339957367648e-17 6.1232339957367648e-17 6.1232339957367648e-17 1 0 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $35 $35 $24 $37 forward $21 $-1 #
+coedge $-1 -1 -1 $-1 $36 $36 $57 $58 reversed $23 $-1 #
+edge $-1 -1 -1 $-1 $59 0 $59 6.2831853071795862 $35 $60 forward @7 unknown T 19 7 7 19 11 11 #
+face $-1 -1 -1 $-1 $61 $62 $6 $-1 $63 reversed single T 4 14 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $64 $25 T 4 4 4 4 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $65 $49 $66 $67 forward $26 $-1 #
+coedge $-1 -1 -1 $-1 $68 $28 $65 $69 forward $17 $-1 #
+coedge $-1 -1 -1 $-1 $28 $68 $70 $71 forward $17 $-1 #
+coedge $-1 -1 -1 $-1 $52 $51 $28 $45 reversed $53 $-1 #
+edge $-1 -1 -1 $-1 $72 -5 $73 5 $44 $74 forward @7 unknown T 14 4 4 14 14 4 #
+coedge $-1 -1 -1 $-1 $30 $29 $75 $76 forward $11 $-1 #
+coedge $-1 -1 -1 $-1 $77 $78 $29 $48 reversed $62 $-1 #
+edge $-1 -1 -1 $-1 $55 -5 $79 5 $47 $80 forward @7 unknown T 4 14 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $41 $81 $30 $50 reversed $26 $-1 #
+edge $-1 -1 -1 $-1 $82 -5 $54 5 $49 $83 forward @7 unknown T 4 4 14 14 4 14 #
+coedge $-1 -1 -1 $-1 $44 $31 $81 $84 forward $53 $-1 #
+coedge $-1 -1 -1 $-1 $31 $44 $77 $85 reversed $53 $-1 #
+loop $-1 -1 -1 $-1 $-1 $51 $61 T 14 4 4 14 14 14 unknown #
+vertex $-1 -1 -1 $-1 $32 $86 #
+vertex $-1 -1 -1 $-1 $32 $87 #
+straight-curve $-1 -1 -1 $-1 14 9 14 0 1 0 I I #
+coedge $-1 -1 -1 $-1 $57 $57 $36 $58 forward $33 $-1 #
+edge $-1 -1 -1 $-1 $88 0 $88 6.2831853071795862 $57 $89 forward @7 unknown T 21 8 8 21 10 10 #
+vertex $-1 -1 -1 $-1 $37 $90 #
+ellipse-curve $-1 -1 -1 $-1 19 9 9 -1 6.1232339957367648e-17 -6.1232339957367648e-17 1.224646799147353e-16 2 0 1 I I #
+face $-1 -1 -1 $-1 $-1 $53 $6 $-1 $91 reversed single T 14 4 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $77 $38 T 4 14 4 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 14 9 0 -1 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $92 $75 $78 $93 forward $39 $-1 #
+coedge $-1 -1 -1 $-1 $81 $41 $42 $69 reversed $26 $-1 #
+coedge $-1 -1 -1 $-1 $75 $92 $41 $67 reversed $39 $-1 #
+edge $-1 -1 -1 $-1 $82 -5 $94 5 $66 $95 forward @7 unknown T 4 4 4 4 4 14 #
+coedge $-1 -1 -1 $-1 $43 $42 $92 $96 forward $17 $-1 #
+edge $-1 -1 -1 $-1 $73 -5 $94 5 $65 $97 forward @7 unknown T 4 4 4 14 4 4 #
+coedge $-1 -1 -1 $-1 $78 $77 $43 $71 reversed $62 $-1 #
+edge $-1 -1 -1 $-1 $98 -5 $72 5 $70 $99 forward @7 unknown T 4 14 4 14 14 4 #
+vertex $-1 -1 -1 $-1 $45 $100 #
+vertex $-1 -1 -1 $-1 $84 $101 #
+straight-curve $-1 -1 -1 $-1 14 9 4 0 -1 0 I I #
+coedge $-1 -1 -1 $-1 $64 $66 $46 $76 reversed $39 $-1 #
+edge $-1 -1 -1 $-1 $79 -5 $82 5 $75 $102 forward @7 unknown T 4 4 14 4 14 14 #
+coedge $-1 -1 -1 $-1 $70 $47 $52 $85 forward $62 $-1 #
+coedge $-1 -1 -1 $-1 $47 $70 $64 $93 reversed $62 $-1 #
+vertex $-1 -1 -1 $-1 $48 $103 #
+straight-curve $-1 -1 -1 $-1 9 14 14 -1 0 0 I I #
+coedge $-1 -1 -1 $-1 $49 $65 $51 $84 reversed $26 $-1 #
+vertex $-1 -1 -1 $-1 $76 $104 #
+straight-curve $-1 -1 -1 $-1 9 4 14 1 0 0 I I #
+edge $-1 -1 -1 $-1 $54 -5 $73 5 $51 $105 forward @7 unknown T 14 4 4 14 4 14 #
+edge $-1 -1 -1 $-1 $55 -5 $72 5 $52 $106 forward @7 unknown T 14 14 4 14 14 14 #
+point $-1 -1 -1 $-1 14 4 14 #
+point $-1 -1 -1 $-1 14 14 14 #
+vertex $-1 -1 -1 $-1 $58 $107 #
+ellipse-curve $-1 -1 -1 $-1 21 9 9 1 -6.1232339957367648e-17 6.1232339957367648e-17 6.1232339957367648e-17 1 0 1 I I #
+point $-1 -1 -1 $-1 19 11 9 #
+plane-surface $-1 -1 -1 $-1 14 9 9 -1 0 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $66 $64 $68 $96 reversed $39 $-1 #
+edge $-1 -1 -1 $-1 $79 -5 $98 5 $78 $108 forward @7 unknown T 4 14 4 4 14 14 #
+vertex $-1 -1 -1 $-1 $96 $109 #
+straight-curve $-1 -1 -1 $-1 4 4 9 0 0 -1 I I #
+edge $-1 -1 -1 $-1 $94 -5 $98 5 $92 $110 forward @7 unknown T 4 4 4 4 14 4 #
+straight-curve $-1 -1 -1 $-1 9 4 4 -1 0 0 I I #
+vertex $-1 -1 -1 $-1 $71 $111 #
+straight-curve $-1 -1 -1 $-1 9 14 4 1 0 0 I I #
+point $-1 -1 -1 $-1 14 14 4 #
+point $-1 -1 -1 $-1 14 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 14 0 -1 0 I I #
+point $-1 -1 -1 $-1 4 14 14 #
+point $-1 -1 -1 $-1 4 4 14 #
+straight-curve $-1 -1 -1 $-1 14 4 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 14 14 9 0 0 -1 I I #
+point $-1 -1 -1 $-1 21 10 9 #
+straight-curve $-1 -1 -1 $-1 4 14 9 0 0 -1 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 4 0 1 0 I I #
+point $-1 -1 -1 $-1 4 14 4 #
+End-of-ACIS-data 
\ No newline at end of file

Added: cgm/trunk/cgm_apps/examples/driverc++/model6.sat
===================================================================
--- cgm/trunk/cgm_apps/examples/driverc++/model6.sat	                        (rev 0)
+++ cgm/trunk/cgm_apps/examples/driverc++/model6.sat	2007-08-24 20:44:55 UTC (rev 1254)
@@ -0,0 +1,116 @@
+1600 0 2 0           
+10 Cubit 10.2 17 ACIS 16.0.1 Linux 24 Wed Aug 15 12:19:16 2007 
+1 9.9999999999999995e-07 1e-10 
+body $-1 -1 -1 $-1 $2 $-1 $3 T 4 4 4 14 14 14 #
+body $-1 -1 -1 $-1 $4 $-1 $-1 T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000004 #
+lump $-1 -1 -1 $-1 $-1 $5 $0 T 4 4 4 14 14 14 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+lump $-1 -1 -1 $-1 $-1 $6 $1 T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000004 #
+shell $-1 -1 -1 $-1 $-1 $-1 $7 $-1 $2 T 4 4 4 14 14 14 #
+shell $-1 -1 -1 $-1 $-1 $-1 $8 $-1 $4 T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000004 #
+face $-1 -1 -1 $-1 $9 $10 $5 $-1 $11 forward single T 4 4 14 14 14 14 F #
+face $-1 -1 -1 $-1 $-1 $12 $6 $-1 $13 reversed double out T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000004 F #
+face $-1 -1 -1 $-1 $14 $15 $5 $-1 $16 reversed single T 4 4 4 14 14 4 F #
+loop $-1 -1 -1 $-1 $-1 $17 $7 T 4 4 14 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 14 0 0 1 1 0 0 forward_v I I I I #
+loop $-1 -1 -1 $-1 $-1 $18 $8 T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000004 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+face $-1 -1 -1 $-1 $19 $20 $5 $-1 $21 reversed single T 4 4 4 14 4 14 F #
+loop $-1 -1 -1 $-1 $-1 $22 $9 T 4 4 4 14 14 4 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 4 0 0 1 1 0 0 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $23 $24 $25 $26 forward $10 $-1 #
+coedge $-1 -1 -1 $-1 $27 $28 $-1 $29 reversed $12 $-1 #
+face $-1 -1 -1 $-1 $30 $31 $5 $-1 $32 reversed single T 4 4 4 4 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $33 $14 T 4 4 4 14 4 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 4 9 0 1 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $34 $35 $36 $37 forward $15 $-1 #
+coedge $-1 -1 -1 $-1 $38 $17 $39 $40 forward $10 $-1 #
+coedge $-1 -1 -1 $-1 $17 $38 $41 $42 forward $10 $-1 #
+coedge $-1 -1 -1 $-1 $43 $44 $17 $26 reversed $45 $-1 #
+edge $-1 -1 -1 $-1 $46 -5 $47 5 $25 $48 forward @7 unknown T 14 4 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $49 $18 $-1 $50 forward $12 $-1 #
+coedge $-1 -1 -1 $-1 $18 $49 $-1 $51 reversed $12 $-1 #
+edge $-1 -1 -1 $-1 $52 -3.7826608214930642 $53 3.8331122843708445 $18 $54 forward @7 unknown T 4 3.9999999999999996 4 4 11 7.0000000000000027 #
+face $-1 -1 -1 $-1 $55 $56 $5 $-1 $57 reversed single T 4 14 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $58 $19 T 4 4 4 4 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $59 $41 $60 $61 forward $20 $-1 #
+coedge $-1 -1 -1 $-1 $62 $22 $59 $63 forward $15 $-1 #
+coedge $-1 -1 -1 $-1 $22 $62 $64 $65 forward $15 $-1 #
+coedge $-1 -1 -1 $-1 $44 $43 $22 $37 reversed $45 $-1 #
+edge $-1 -1 -1 $-1 $66 -5 $67 5 $36 $68 forward @7 unknown T 14 4 4 14 14 4 #
+coedge $-1 -1 -1 $-1 $24 $23 $69 $70 forward $10 $-1 #
+coedge $-1 -1 -1 $-1 $71 $72 $23 $40 reversed $56 $-1 #
+edge $-1 -1 -1 $-1 $47 -5 $73 5 $39 $74 forward @7 unknown T 4 14 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $33 $75 $24 $42 reversed $20 $-1 #
+edge $-1 -1 -1 $-1 $76 -5 $46 5 $41 $77 forward @7 unknown T 4 4 14 14 4 14 #
+coedge $-1 -1 -1 $-1 $36 $25 $75 $78 forward $45 $-1 #
+coedge $-1 -1 -1 $-1 $25 $36 $71 $79 reversed $45 $-1 #
+loop $-1 -1 -1 $-1 $-1 $43 $55 T 14 4 4 14 14 14 unknown #
+vertex $-1 -1 -1 $-1 $26 $80 #
+vertex $-1 -1 -1 $-1 $26 $81 #
+straight-curve $-1 -1 -1 $-1 14 9 14 0 1 0 I I #
+coedge $-1 -1 -1 $-1 $28 $27 $-1 $82 forward $12 $-1 #
+edge $-1 -1 -1 $-1 $52 -3.3541019662496852 $83 7.8262379212492652 $27 $84 forward @7 unknown T 4 3.9999999999999996 3.9999999999999991 4 9 14.000000000000002 #
+edge $-1 -1 -1 $-1 $53 -0.52522573143889106 $85 7.090547374425018 $28 $86 forward @7 unknown T 4 11 7 4 14 14.000000000000004 #
+vertex $-1 -1 -1 $-1 $29 $87 #
+vertex $-1 -1 -1 $-1 $29 $88 #
+straight-curve $-1 -1 -1 $-1 4 7.4768138943193732 5.4900630975654474 -0 0.91914503001805781 0.39391929857916802 I I #
+face $-1 -1 -1 $-1 $-1 $45 $5 $-1 $89 reversed single T 14 4 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $71 $30 T 4 14 4 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 14 9 0 -1 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $90 $69 $72 $91 forward $31 $-1 #
+coedge $-1 -1 -1 $-1 $75 $33 $34 $63 reversed $20 $-1 #
+coedge $-1 -1 -1 $-1 $69 $90 $33 $61 reversed $31 $-1 #
+edge $-1 -1 -1 $-1 $76 -5 $92 5 $60 $93 forward @7 unknown T 4 4 4 4 4 14 #
+coedge $-1 -1 -1 $-1 $35 $34 $90 $94 forward $15 $-1 #
+edge $-1 -1 -1 $-1 $67 -5 $92 5 $59 $95 forward @7 unknown T 4 4 4 14 4 4 #
+coedge $-1 -1 -1 $-1 $72 $71 $35 $65 reversed $56 $-1 #
+edge $-1 -1 -1 $-1 $96 -5 $66 5 $64 $97 forward @7 unknown T 4 14 4 14 14 4 #
+vertex $-1 -1 -1 $-1 $37 $98 #
+vertex $-1 -1 -1 $-1 $78 $99 #
+straight-curve $-1 -1 -1 $-1 14 9 4 0 -1 0 I I #
+coedge $-1 -1 -1 $-1 $58 $60 $38 $70 reversed $31 $-1 #
+edge $-1 -1 -1 $-1 $73 -5 $76 5 $69 $100 forward @7 unknown T 4 4 14 4 14 14 #
+coedge $-1 -1 -1 $-1 $64 $39 $44 $79 forward $56 $-1 #
+coedge $-1 -1 -1 $-1 $39 $64 $58 $91 reversed $56 $-1 #
+vertex $-1 -1 -1 $-1 $40 $101 #
+straight-curve $-1 -1 -1 $-1 9 14 14 -1 0 0 I I #
+coedge $-1 -1 -1 $-1 $41 $59 $43 $78 reversed $20 $-1 #
+vertex $-1 -1 -1 $-1 $70 $102 #
+straight-curve $-1 -1 -1 $-1 9 4 14 1 0 0 I I #
+edge $-1 -1 -1 $-1 $46 -5 $67 5 $43 $103 forward @7 unknown T 14 4 4 14 4 14 #
+edge $-1 -1 -1 $-1 $47 -5 $66 5 $44 $104 forward @7 unknown T 14 14 4 14 14 14 #
+point $-1 -1 -1 $-1 14 4 14 #
+point $-1 -1 -1 $-1 14 14 14 #
+edge $-1 -1 -1 $-1 $83 -0.5 $85 4.5 $49 $105 forward @7 unknown T 4 9 14 4 14 14 #
+vertex $-1 -1 -1 $-1 $50 $106 #
+straight-curve $-1 -1 -1 $-1 4 5.5 7 -0 0.44721359549995798 0.89442719099991597 I I #
+vertex $-1 -1 -1 $-1 $82 $107 #
+straight-curve $-1 -1 -1 $-1 4 11.206896551724139 7.4827586206896557 -0 0.39391929857916724 0.91914503001805814 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+point $-1 -1 -1 $-1 4 11 7 #
+plane-surface $-1 -1 -1 $-1 14 9 9 -1 0 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $60 $58 $62 $94 reversed $31 $-1 #
+edge $-1 -1 -1 $-1 $73 -5 $96 5 $72 $108 forward @7 unknown T 4 14 4 4 14 14 #
+vertex $-1 -1 -1 $-1 $94 $109 #
+straight-curve $-1 -1 -1 $-1 4 4 9 0 0 -1 I I #
+edge $-1 -1 -1 $-1 $92 -5 $96 5 $90 $110 forward @7 unknown T 4 4 4 4 14 4 #
+straight-curve $-1 -1 -1 $-1 9 4 4 -1 0 0 I I #
+vertex $-1 -1 -1 $-1 $65 $111 #
+straight-curve $-1 -1 -1 $-1 9 14 4 1 0 0 I I #
+point $-1 -1 -1 $-1 14 14 4 #
+point $-1 -1 -1 $-1 14 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 14 0 -1 0 I I #
+point $-1 -1 -1 $-1 4 14 14 #
+point $-1 -1 -1 $-1 4 4 14 #
+straight-curve $-1 -1 -1 $-1 14 4 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 14 14 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 4 9.5 14 0 1 0 I I #
+point $-1 -1 -1 $-1 4 9 14 #
+point $-1 -1 -1 $-1 4 14 14 #
+straight-curve $-1 -1 -1 $-1 4 14 9 0 0 -1 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 4 0 1 0 I I #
+point $-1 -1 -1 $-1 4 14 4 #
+End-of-ACIS-data 
\ No newline at end of file

Added: cgm/trunk/cgm_apps/examples/driverc++/model7.sat
===================================================================
--- cgm/trunk/cgm_apps/examples/driverc++/model7.sat	                        (rev 0)
+++ cgm/trunk/cgm_apps/examples/driverc++/model7.sat	2007-08-24 20:44:55 UTC (rev 1254)
@@ -0,0 +1,123 @@
+1600 0 2 0           
+10 Cubit 10.2 17 ACIS 16.0.1 Linux 24 Fri Aug 24 14:18:03 2007 
+1 9.9999999999999995e-07 1e-10 
+body $-1 -1 -1 $-1 $2 $-1 $3 T 4 4 4 14 14 14 #
+body $-1 -1 -1 $-1 $4 $-1 $5 T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000004 #
+lump $-1 -1 -1 $-1 $-1 $6 $0 T 4 4 4 14 14 14 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+lump $-1 -1 -1 $-1 $-1 $7 $1 T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000004 #
+transform $-1 -1 1 0 0 0 1 0 0 0 1 0 0 0 1 no_rotate no_reflect no_shear #
+shell $-1 -1 -1 $-1 $-1 $-1 $8 $-1 $2 T 4 4 4 14 14 14 #
+shell $-1 -1 -1 $-1 $-1 $-1 $9 $-1 $4 T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000004 #
+face $-1 -1 -1 $-1 $10 $11 $6 $-1 $12 forward single T 4 4 14 14 14 14 F #
+face $-1 -1 -1 $-1 $13 $14 $7 $-1 $15 reversed double out T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000002 F #
+face $-1 -1 -1 $-1 $16 $17 $6 $-1 $18 reversed single T 4 4 4 14 14 4 F #
+loop $-1 -1 -1 $-1 $-1 $19 $8 T 4 4 14 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 14 0 0 1 1 0 0 forward_v I I I I #
+face $-1 -1 -1 $-1 $-1 $20 $7 $-1 $15 reversed double out T 4 3.9999999999999996 4 4 14 14.000000000000004 F #
+loop $-1 -1 -1 $-1 $-1 $21 $9 T 4 3.9999999999999996 3.9999999999999991 4 14 14.000000000000002 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+face $-1 -1 -1 $-1 $22 $23 $6 $-1 $24 reversed single T 4 4 4 14 4 14 F #
+loop $-1 -1 -1 $-1 $-1 $25 $10 T 4 4 4 14 14 4 unknown #
+plane-surface $-1 -1 -1 $-1 9 9 4 0 0 1 1 0 0 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $26 $27 $28 $29 forward $11 $-1 #
+loop $-1 -1 -1 $-1 $-1 $30 $13 T 4 3.9999999999999996 4 4 14 14.000000000000004 unknown #
+coedge $-1 -1 -1 $-1 $31 $32 $30 $33 reversed $14 $-1 #
+face $-1 -1 -1 $-1 $34 $35 $6 $-1 $36 reversed single T 4 4 4 4 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $37 $16 T 4 4 4 14 4 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 4 9 0 1 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $38 $39 $40 $41 forward $17 $-1 #
+coedge $-1 -1 -1 $-1 $42 $19 $43 $44 forward $11 $-1 #
+coedge $-1 -1 -1 $-1 $19 $42 $45 $46 forward $11 $-1 #
+coedge $-1 -1 -1 $-1 $47 $48 $19 $29 reversed $49 $-1 #
+edge $-1 -1 -1 $-1 $50 -5 $51 5 $28 $52 forward @7 unknown T 14 4 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $53 $54 $21 $33 forward $20 $-1 #
+coedge $-1 -1 -1 $-1 $32 $21 $-1 $55 forward $14 $-1 #
+coedge $-1 -1 -1 $-1 $21 $31 $-1 $56 forward $14 $-1 #
+edge $-1 -1 -1 $-1 $57 -4.0355339059327378 $58 10.106601717798213 $30 $59 forward @7 unknown T 4 4 4 4 14 14 #
+face $-1 -1 -1 $-1 $60 $61 $6 $-1 $62 reversed single T 4 14 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $63 $22 T 4 4 4 4 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 4 9 9 1 0 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $64 $45 $65 $66 forward $23 $-1 #
+coedge $-1 -1 -1 $-1 $67 $25 $64 $68 forward $17 $-1 #
+coedge $-1 -1 -1 $-1 $25 $67 $69 $70 forward $17 $-1 #
+coedge $-1 -1 -1 $-1 $48 $47 $25 $41 reversed $49 $-1 #
+edge $-1 -1 -1 $-1 $71 -5 $72 5 $40 $73 forward @7 unknown T 14 4 4 14 14 4 #
+coedge $-1 -1 -1 $-1 $27 $26 $74 $75 forward $11 $-1 #
+coedge $-1 -1 -1 $-1 $76 $77 $26 $44 reversed $61 $-1 #
+edge $-1 -1 -1 $-1 $51 -5 $78 5 $43 $79 forward @7 unknown T 4 14 14 14 14 14 #
+coedge $-1 -1 -1 $-1 $37 $80 $27 $46 reversed $23 $-1 #
+edge $-1 -1 -1 $-1 $81 -5 $50 5 $45 $82 forward @7 unknown T 4 4 14 14 4 14 #
+coedge $-1 -1 -1 $-1 $40 $28 $80 $83 forward $49 $-1 #
+coedge $-1 -1 -1 $-1 $28 $40 $76 $84 reversed $49 $-1 #
+loop $-1 -1 -1 $-1 $-1 $47 $60 T 14 4 4 14 14 14 unknown #
+vertex $-1 -1 -1 $-1 $29 $85 #
+vertex $-1 -1 -1 $-1 $29 $86 #
+straight-curve $-1 -1 -1 $-1 14 9 14 0 1 0 I I #
+coedge $-1 -1 -1 $-1 $54 $30 $-1 $87 reversed $20 $-1 #
+coedge $-1 -1 -1 $-1 $30 $53 $-1 $88 reversed $20 $-1 #
+edge $-1 -1 -1 $-1 $57 -3.3541019662496852 $89 7.8262379212492652 $31 $90 forward @7 unknown T 4 3.9999999999999996 3.9999999999999991 4 9 14.000000000000002 #
+edge $-1 -1 -1 $-1 $89 -0.5 $58 4.5 $32 $91 forward @7 unknown T 4 9 14 4 14 14 #
+vertex $-1 -1 -1 $-1 $88 $92 #
+vertex $-1 -1 -1 $-1 $56 $93 #
+straight-curve $-1 -1 -1 $-1 4 6.853553390593274 6.853553390593274 -0 0.70710678118654757 0.70710678118654757 F -4.0355339059327378 F 10.106601717798213 #
+face $-1 -1 -1 $-1 $-1 $49 $6 $-1 $94 reversed single T 14 4 4 14 14 14 F #
+loop $-1 -1 -1 $-1 $-1 $76 $34 T 4 14 4 14 14 14 unknown #
+plane-surface $-1 -1 -1 $-1 9 14 9 0 -1 0 0 0 -1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $95 $74 $77 $96 forward $35 $-1 #
+coedge $-1 -1 -1 $-1 $80 $37 $38 $68 reversed $23 $-1 #
+coedge $-1 -1 -1 $-1 $74 $95 $37 $66 reversed $35 $-1 #
+edge $-1 -1 -1 $-1 $81 -5 $97 5 $65 $98 forward @7 unknown T 4 4 4 4 4 14 #
+coedge $-1 -1 -1 $-1 $39 $38 $95 $99 forward $17 $-1 #
+edge $-1 -1 -1 $-1 $72 -5 $97 5 $64 $100 forward @7 unknown T 4 4 4 14 4 4 #
+coedge $-1 -1 -1 $-1 $77 $76 $39 $70 reversed $61 $-1 #
+edge $-1 -1 -1 $-1 $101 -5 $71 5 $69 $102 forward @7 unknown T 4 14 4 14 14 4 #
+vertex $-1 -1 -1 $-1 $41 $103 #
+vertex $-1 -1 -1 $-1 $83 $104 #
+straight-curve $-1 -1 -1 $-1 14 9 4 0 -1 0 I I #
+coedge $-1 -1 -1 $-1 $63 $65 $42 $75 reversed $35 $-1 #
+edge $-1 -1 -1 $-1 $78 -5 $81 5 $74 $105 forward @7 unknown T 4 4 14 4 14 14 #
+coedge $-1 -1 -1 $-1 $69 $43 $48 $84 forward $61 $-1 #
+coedge $-1 -1 -1 $-1 $43 $69 $63 $96 reversed $61 $-1 #
+vertex $-1 -1 -1 $-1 $44 $106 #
+straight-curve $-1 -1 -1 $-1 9 14 14 -1 0 0 I I #
+coedge $-1 -1 -1 $-1 $45 $64 $47 $83 reversed $23 $-1 #
+vertex $-1 -1 -1 $-1 $75 $107 #
+straight-curve $-1 -1 -1 $-1 9 4 14 1 0 0 I I #
+edge $-1 -1 -1 $-1 $50 -5 $72 5 $47 $108 forward @7 unknown T 14 4 4 14 4 14 #
+edge $-1 -1 -1 $-1 $51 -5 $71 5 $48 $109 forward @7 unknown T 14 14 4 14 14 14 #
+point $-1 -1 -1 $-1 14 4 14 #
+point $-1 -1 -1 $-1 14 14 14 #
+edge $-1 -1 -1 $-1 $110 -0.52522573143889106 $58 7.090547374425018 $53 $111 forward @7 unknown T 4 11 7 4 14 14.000000000000004 #
+edge $-1 -1 -1 $-1 $57 -3.7826608214930642 $110 3.8331122843708445 $54 $112 forward @7 unknown T 4 3.9999999999999996 4 4 11 7.0000000000000027 #
+vertex $-1 -1 -1 $-1 $55 $113 #
+straight-curve $-1 -1 -1 $-1 4 5.5 7 -0 0.44721359549995798 0.89442719099991597 I I #
+straight-curve $-1 -1 -1 $-1 4 9.5 14 0 1 0 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+point $-1 -1 -1 $-1 4 14 14 #
+plane-surface $-1 -1 -1 $-1 14 9 9 -1 0 0 0 0 1 forward_v I I I I #
+coedge $-1 -1 -1 $-1 $65 $63 $67 $99 reversed $35 $-1 #
+edge $-1 -1 -1 $-1 $78 -5 $101 5 $77 $114 forward @7 unknown T 4 14 4 4 14 14 #
+vertex $-1 -1 -1 $-1 $99 $115 #
+straight-curve $-1 -1 -1 $-1 4 4 9 0 0 -1 I I #
+edge $-1 -1 -1 $-1 $97 -5 $101 5 $95 $116 forward @7 unknown T 4 4 4 4 14 4 #
+straight-curve $-1 -1 -1 $-1 9 4 4 -1 0 0 I I #
+vertex $-1 -1 -1 $-1 $70 $117 #
+straight-curve $-1 -1 -1 $-1 9 14 4 1 0 0 I I #
+point $-1 -1 -1 $-1 14 14 4 #
+point $-1 -1 -1 $-1 14 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 14 0 -1 0 I I #
+point $-1 -1 -1 $-1 4 14 14 #
+point $-1 -1 -1 $-1 4 4 14 #
+straight-curve $-1 -1 -1 $-1 14 4 9 0 0 -1 I I #
+straight-curve $-1 -1 -1 $-1 14 14 9 0 0 -1 I I #
+vertex $-1 -1 -1 $-1 $88 $118 #
+straight-curve $-1 -1 -1 $-1 4 11.206896551724139 7.4827586206896557 -0 0.39391929857916724 0.91914503001805814 I I #
+straight-curve $-1 -1 -1 $-1 4 7.4768138943193732 5.4900630975654474 -0 0.91914503001805781 0.39391929857916802 I I #
+point $-1 -1 -1 $-1 4 9 14 #
+straight-curve $-1 -1 -1 $-1 4 14 9 0 0 -1 I I #
+point $-1 -1 -1 $-1 4 4 4 #
+straight-curve $-1 -1 -1 $-1 4 9 4 0 1 0 I I #
+point $-1 -1 -1 $-1 4 14 4 #
+point $-1 -1 -1 $-1 4 11 7 #
+End-of-ACIS-data 
\ No newline at end of file

Added: cgm/trunk/cgm_apps/examples/driverc++/webcut.cpp
===================================================================
--- cgm/trunk/cgm_apps/examples/driverc++/webcut.cpp	                        (rev 0)
+++ cgm/trunk/cgm_apps/examples/driverc++/webcut.cpp	2007-08-24 20:44:55 UTC (rev 1254)
@@ -0,0 +1,801 @@
+/**
+ * \file mergechk.cpp
+ *
+ * \brief mergechk, another simple C++ driver for CGM
+ *
+ * This program acts as a simple driver for CGM.  It reads in a geometry,
+ * performs imprints between all the bodies, merges them, and writes information
+ * on the results.  It also performs pairwise intersections between the
+ * bodies to check for overlaps.  Results are written to stardard output.
+ *
+ */
+
+#include "CpuTimer.hpp"
+#include "GeometryModifyTool.hpp"
+#include "GeometryQueryTool.hpp"
+#include "AcisQueryEngine.hpp"
+#include "MergeTool.hpp"
+#include "CubitUtil.hpp"
+#include "CubitMessage.hpp"
+#include "CubitDefines.h"
+#include "RefEntity.hpp"
+#include "Body.hpp"
+#include "RefVolume.hpp"
+#include "RefFace.hpp"
+#include "RefEdge.hpp"
+#include "RefVertex.hpp"
+#include "CubitObserver.hpp"
+#include "CastTo.hpp"
+#include "AcisQueryEngine.hpp"
+#include "AcisModifyEngine.hpp"
+#include "AppUtil.hpp"
+#include "RefEntityFactory.hpp"
+#include "RefEdge.hpp"
+
+// forward declare some functions used and defined later
+CubitStatus read_geometry(int, char **);
+CubitStatus evaluate_overlaps();
+CubitStatus imprint_bodies();
+CubitStatus print_unmerged_surfaces();
+CubitStatus webcut_with_brick();
+CubitStatus webcut_with_cylinder();
+CubitStatus webcut_with_planar_sheet();
+CubitStatus webcut_with_sweep_curves_rotated();
+CubitStatus webcut_with_sweep_curves();
+CubitStatus webcut_with_sweep_along_curve();
+CubitStatus webcut_with_curve_loop();
+CubitStatus webcut_with_extended_surf();
+CubitStatus webcut_with_sweep_surfaces_rotated();
+CubitStatus webcut_with_sweep_surfaces();
+CubitStatus webcut_with_sweep_surfaces_along_curve();
+CubitStatus webcut_with_sweep_surfaces_perp();
+// macro for printing a separator line
+#define PRINT_SEPARATOR   PRINT_INFO("=======================================\n");
+
+
+// main program - initialize, then send to proper function
+int main (int argc, char **argv)
+{
+
+  CubitObserver::init_static_observers();
+    // Initialize the GeometryTool
+  
+  CGMApp::instance()->startup( argc, argv );
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  AcisQueryEngine::instance();
+  AcisModifyEngine::instance();
+
+    // If there aren't any file arguments, print usage and exit
+  //if (argc == 1) {
+  //  PRINT_INFO("Usage: mergechk <geom_file> [<geom_file> ...]\n");
+  //  exit(0);
+  //}
+  
+  CubitStatus status = CUBIT_SUCCESS;
+
+
+
+  //Do brick webcut.
+  status = webcut_with_brick();
+  status = webcut_with_cylinder();
+  status = webcut_with_planar_sheet();
+  status = webcut_with_sweep_curves_rotated();
+  status = webcut_with_sweep_curves();
+  status = webcut_with_sweep_along_curve();
+  status = webcut_with_curve_loop();
+  status = webcut_with_extended_surf();
+  status = webcut_with_sweep_surfaces_rotated();
+  status = webcut_with_sweep_surfaces();
+  status = webcut_with_sweep_surfaces_along_curve();
+  status = webcut_with_sweep_surfaces_perp();
+  if (status == CUBIT_FAILURE) 
+     PRINT_INFO("Operation Failed");
+
+  int ret_val = ( CubitMessage::instance()->error_count() );
+  if ( ret_val > 0 )
+  {
+    PRINT_ERROR("Errors found during Mergechk session.\n");
+  }
+  return ret_val;
+  
+}
+
+/// attribs module: list, modify attributes in a give model or models
+/// 
+/// Arguments: file name(s) of geometry files in which to look
+///
+CubitStatus read_geometry(int num_files, char **argv) 
+{
+  CubitStatus status = CUBIT_SUCCESS;
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  assert(gti);
+  int i;
+  
+    // For each file, open and read the geometry
+  FILE *file_ptr;
+
+  PRINT_SEPARATOR;
+
+  for (i = 0; i < num_files; i++) {
+    status = gti->import_solid_model(argv[i], "ACIS_SAT");
+    if (status != CUBIT_SUCCESS) {
+      PRINT_ERROR("Problems reading geometry file %s.\n", argv[i]);
+    }
+  }
+  PRINT_SEPARATOR;
+
+  return CUBIT_SUCCESS;
+}
+
+CubitStatus webcut_with_brick()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model2.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+  
+  //int num_bodies = gti->num_bodies();
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+  old_bodies.reset();
+  //old_bodies.remove();
+  CubitVector center(4.5,4.5,4.5);
+  CubitVector axes[3];
+  axes[0].set(1.,0.,0.);
+  axes[1].set(0.,1.,0.);
+  axes[2].set(0.,0.,1.);
+  CubitVector extension(0.5,0.5,0.5);
+  CubitStatus rsl= gmti->webcut_with_brick(old_bodies,center,axes,extension,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_brick.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype, 
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+  DLIList<RefEntity*> free_entities;
+  gti->get_free_ref_entities(free_entities);
+  gti->delete_Body(bodies);
+
+  for (int j = free_entities.size(); j--;)
+    {
+      gti->delete_RefEntity( free_entities.get_and_step());
+    }
+
+  return rsl;
+}
+
+CubitStatus webcut_with_cylinder()
+{
+
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model2.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+  
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+  old_bodies.reset();
+  //old_bodies.remove();
+  CubitVector center(4.,4.,4.);
+  CubitVector axis(1.,0.,0.);
+  double radius = 1.0;
+  CubitStatus rsl= gmti->webcut_with_cylinder(old_bodies,radius,axis, center,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_cylinder.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+  DLIList<RefEntity*> free_entities;
+  gti->get_free_ref_entities(free_entities);
+  gti->delete_Body(bodies);
+
+  for (int j = free_entities.size(); j--;)
+    {
+      gti->delete_RefEntity( free_entities.get_and_step());
+    }
+
+  return rsl;
+}
+
+CubitStatus webcut_with_planar_sheet()
+{
+
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model2.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+  old_bodies.reset();
+
+  CubitVector center(4.0,4.0,4.0);
+  CubitVector axes[2];
+  axes[0].set(1.,1.,0.);
+  axes[1].set(0.,1.,1.);  
+  
+  CubitStatus rsl= gmti->webcut_with_planar_sheet(old_bodies,center,axes,40.,40.,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_sheet.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl =  gti->export_solid_model(ref_entity_list, filename, filetype, 
+                                 num_ents_exported, cubit_version);
+  
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+  DLIList<RefEntity*> free_entities;
+  gti->get_free_ref_entities(free_entities);
+  gti->delete_Body(bodies);
+
+  for (int j = free_entities.size(); j--;)
+    {
+      gti->delete_RefEntity( free_entities.get_and_step());
+    }
+
+  return rsl;
+ 
+}
+
+
+CubitStatus webcut_with_sweep_curves_rotated()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./huge.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+  
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+  DLIList<RefEntity*> free_entities;
+  gti->get_free_ref_entities(free_entities);
+ 
+  DLIList<RefEdge*> curves;
+  for(int i = 0; i < free_entities.size(); i++)
+  {
+    RefEdge* free_edge = CAST_TO(free_entities.get_and_step(), RefEdge);
+    curves.append(free_edge);
+  }
+
+  old_bodies.reset();
+
+  //CubitVector center(4.0,14.0,14.0);
+  CubitVector center(-50.0,50.0,50.0);
+  CubitVector axis;
+  axis.set(0.,-1.,0.);
+
+  CpuTimer webcut_BODYs_timer;
+  CubitStatus rsl= gmti->webcut_with_sweep_curves_rotated(old_bodies,curves,center,axis,1.58,NULL,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  PRINT_INFO( "CPU time taken to WEBCUT this body: " 
+               "%f secs\n", webcut_BODYs_timer.cpu_secs() ) ;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_sweep_rotational.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+  free_entities.clean_out(); 
+  gti->get_free_ref_entities(free_entities);
+  gti->delete_Body(bodies);
+
+  for (int j = free_entities.size(); j--;)
+    {
+      gti->delete_RefEntity( free_entities.get_and_step());
+    }
+
+  return rsl;
+}
+
+CubitStatus webcut_with_sweep_curves()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model3.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+  DLIList<RefEntity*> free_entities;
+  gti->get_free_ref_entities(free_entities);
+
+  DLIList<RefEdge*> curves;
+  for(int i = 0; i < free_entities.size(); i++)
+  {
+    RefEdge* free_edge = CAST_TO(free_entities.get_and_step(), RefEdge);
+    curves.append(free_edge);
+  }
+
+  old_bodies.reset();
+
+  CubitVector axis;
+  axis.set(1.,0.,0.);
+
+  CubitStatus rsl= gmti->webcut_with_sweep_curves(old_bodies,curves,axis,true,NULL,NULL,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_sweep_curves.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+  free_entities.clean_out(); 
+  gti->get_free_ref_entities(free_entities);
+  gti->delete_Body(bodies);
+
+  for (int j = free_entities.size(); j--;)
+    {
+      gti->delete_RefEntity( free_entities.get_and_step());
+    }
+
+  return rsl;
+}
+
+CubitStatus webcut_with_sweep_along_curve()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model3.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+  
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+  DLIList<RefEntity*> free_entities;
+  gti->get_free_ref_entities(free_entities);
+
+  DLIList<RefEdge*> curves;
+  for(int i = 0; i < free_entities.size(); i++)
+  {
+    RefEdge* free_edge = CAST_TO(free_entities.get_and_step(), RefEdge);
+    curves.append(free_edge);
+  }
+
+  old_bodies.reset();
+
+  //use curve 2 as the sweep along curve
+  DLIList<RefEdge*> temp_curves;
+  old_bodies.get()->ref_edges(temp_curves);
+  RefEdge * edge_to_sweep_along = NULL;
+  // This model happen to be the forth edge wwhich is suitable to sweep along
+  for (int i = 0; i < 4; i ++)
+  {
+     edge_to_sweep_along = temp_curves.get_and_step();
+  } 
+        
+  CubitVector axis;
+  axis.set(1.,0.,0.);
+
+  CubitStatus rsl= gmti->webcut_with_sweep_curves(old_bodies,curves,axis,true,NULL,
+                                                  edge_to_sweep_along,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_sweep_along_curve.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+  free_entities.clean_out(); 
+  gti->get_free_ref_entities(free_entities);
+  gti->delete_Body(bodies);
+
+  for (int j = free_entities.size(); j--;)
+    {
+      gti->delete_RefEntity( free_entities.get_and_step());
+    }
+
+  return rsl;
+}
+
+CubitStatus webcut_with_curve_loop()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model4.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+  
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+  DLIList<RefEntity*> free_entities;
+  gti->get_free_ref_entities(free_entities);
+
+  DLIList<RefEdge*> curves;
+  for(int i = 0; i < free_entities.size(); i++)
+  {
+    RefEdge* free_edge = CAST_TO(free_entities.get_and_step(), RefEdge);
+    curves.append(free_edge);
+  }
+
+  old_bodies.reset();
+
+  CubitStatus rsl= gmti->webcut_with_curve_loop(old_bodies,curves,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_curve_loop.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+  free_entities.clean_out(); 
+  gti->get_free_ref_entities(free_entities);
+  gti->delete_Body(bodies);
+
+  for (int j = free_entities.size(); j--;)
+    {
+      gti->delete_RefEntity( free_entities.get_and_step());
+    }
+
+  return rsl;
+}
+
+CubitStatus webcut_with_extended_surf()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model5.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+
+  old_bodies.reset();
+  old_bodies.step();
+
+  DLIList<RefFace*> ref_faces;
+  old_bodies.remove()->ref_faces(ref_faces);
+  RefFace *refface = ref_faces.get();
+  int num_cut = 0;
+  CubitStatus rsl= gmti->webcut_with_extended_surf(old_bodies,refface,new_bodies, num_cut);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_extended_surf.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+
+  gti->delete_Body(bodies);
+
+  return rsl;
+}
+
+CubitStatus webcut_with_sweep_surfaces_rotated()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model7.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+  
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+
+  old_bodies.reset();
+  old_bodies.step();
+
+  DLIList<RefFace*> faces;
+  old_bodies.remove()->ref_faces(faces);
+
+  CubitVector center(4.0,14.0,14.0);
+  CubitVector axis;
+  axis.set(0.,-1.,0.);
+
+  // set 7th parameter to be false to indicate of to_next_surf = false
+  CubitStatus rsl= gmti->webcut_with_sweep_surfaces_rotated(old_bodies,faces,center,axis,1.6,NULL,true,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_sweep_surfaces_rotated.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+
+  gti->delete_Body(bodies);
+
+  return rsl;
+}
+
+CubitStatus webcut_with_sweep_surfaces()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model6.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+  
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+
+  old_bodies.reset();
+
+  old_bodies.step();
+
+  DLIList<RefFace*> faces;
+  old_bodies.remove()->ref_faces(faces);
+
+  CubitVector axis;
+  axis.set(1.,0.,0.);
+
+  CubitStatus rsl= gmti->webcut_with_sweep_surfaces(old_bodies,faces,axis,false,true,false, false,NULL,NULL,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_sweep_surfaces.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+
+  gti->delete_Body(bodies);
+
+  return rsl;
+}
+
+CubitStatus webcut_with_sweep_surfaces_along_curve()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model6.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+  
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+
+  old_bodies.reset();
+  old_bodies.step();
+
+  DLIList<RefFace*> faces;
+  old_bodies.remove()->ref_faces(faces);
+
+  //use curve 2 as the sweep along curve
+  DLIList<RefEdge*> temp_curves;
+  old_bodies.get()->ref_edges(temp_curves);
+  RefEdge * edge_to_sweep_along = NULL;
+  //This model happen to be the second curve which is suitable for sweepng along
+  for (int i = 0; i < 2; i ++)
+  {
+     edge_to_sweep_along = temp_curves.get_and_step();
+  }
+
+  CubitVector axis;
+  axis.set(1.,0.,0.);
+
+  CubitStatus rsl= gmti->webcut_with_sweep_surfaces(old_bodies,faces,axis,false, true,false,false,NULL,
+                                                  edge_to_sweep_along,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_sweep_surfaces_along_curve.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+
+  gti->delete_Body(bodies);
+
+  return rsl;
+}
+
+CubitStatus webcut_with_sweep_surfaces_perp()
+{
+  GeometryQueryTool *gti = GeometryQueryTool::instance();
+  GeometryModifyTool *gmti = GeometryModifyTool::instance();
+
+  // Read in the geometry from files specified on the command line
+  char *argv = "./model6.sat";
+  CubitStatus status = read_geometry(1, &argv);
+  if (status == CUBIT_FAILURE) exit(1);
+  else if (gti->num_bodies() == 0) {
+    PRINT_WARNING("No bodies read; exiting.\n");
+    int ret_val = ( CubitMessage::instance()->error_count() );
+
+    exit(ret_val);
+  }
+
+  DLIList<Body*> old_bodies, new_bodies;
+  gti->bodies(old_bodies);
+
+  old_bodies.reset();
+
+  old_bodies.step();
+
+  DLIList<RefFace*> faces;
+  old_bodies.remove()->ref_faces(faces);
+
+  CubitVector axis;
+  axis.set(1.,0.,0.);
+
+  CubitStatus rsl= gmti->webcut_with_sweep_surfaces(old_bodies,faces,axis,true,true,true, false,NULL,NULL,new_bodies);
+  if (rsl== CUBIT_FAILURE)
+     return rsl;
+
+  DLIList<RefEntity*> ref_entity_list;
+  int num_ents_exported=0;
+  const CubitString cubit_version="10.2";
+  const char * filename = "webcut_with_sweep_surfaces_perp.sat";
+  const char * filetype = "ACIS_SAT";
+  rsl = gti->export_solid_model(ref_entity_list, filename, filetype,
+                                 num_ents_exported, cubit_version);
+
+  //delete all entities
+  DLIList<Body*> bodies;
+  gti->bodies(bodies);
+
+  gti->delete_Body(bodies);
+
+  return rsl;
+}
+




More information about the cgma-dev mailing list