0031918: Application Framework - New binary format for fast reading part of OCAF...
[occt.git] / tests / bugs / caf / bug31839_2
1 puts "==========="
2 puts "0031839: Application Framework - Add ability to partially load OCAF document"
3 puts "==========="
4
5 # This test checks partial opening of the document shapes, append and overwrite modes
6 # for them checking that after overwrite the shapes keep shared topology.
7
8 NewDocument D0 BinOcaf
9 UndoLimit D0 10
10
11 NewCommand D0
12
13 box b 1 2 3
14 explode b F
15
16 SetShape D0 0:1 b
17 for {set i 1} {$i <= 6} {incr i} {
18   set lab [Label D0 0:1:${i}]
19   SetShape D0 ${lab} b_${i}
20 }
21
22 CommitCommand D0
23
24 set docname ${imagedir}/doc_${casename}.cbf
25 SaveAs D0 ${docname}
26 Close D0
27
28 # open document with shapes skipped
29 Open ${docname} D1 -skipTNaming_NamedShape
30 if {![catch {GetShape D1 0:1 b1}]} {
31   puts "Error: found box at the label 0:1, but it should not be there"
32 }
33 if {![catch {GetShape D1 0:1:1 f0}]} {
34   puts "Error: found face at the label 0:1:1, but it should not be there"
35 }
36
37 # append one face
38 Open ${docname} D1 -append -read0:1:1
39
40 if {[catch {GetShape D1 0:1:1 f1}]} {
41   puts "Error: Can not find face at the label 0:1:1"
42 }
43 if {![catch {GetShape D1 0:1:2 f2}]} {
44   puts "Error: found face at the label 0:1:2, but it should not be there"
45 }
46
47 # append others, rewrite the first face
48 Open ${docname} D1 -overwrite
49 GetShape D1 0:1 box
50 GetShape D1 0:1:1 f11
51
52 set same [CheckSame box f11 F]
53 if {$same == ""} {
54   puts "Error: shapes loaded in append mode do not share subshapes (so, face at 0:1:1 was not replaced)"
55 }