0024157: Parallelization of assembly part of BO
[occt.git] / tests / bugs / modalg_5 / bug24157_10
1 puts "============"
2 puts "OCC24157"
3 puts "============"
4 puts ""
5 ############################################
6 # Parallelization of assembly part of BO
7 ############################################
8
9 box b0 10 10 10 
10 box b 12 12 12 
11 explode b f
12
13 #--------------------------
14 # 1
15 copy b_1 f
16 ttranslate f 0 -1 -1
17
18 set q1 {}
19 for {set i 1} {$i < 5} {incr i} {
20   tcopy f fx_$i 
21   ttranslate fx_$i [expr ($i*2)] 0. 0.    
22   lappend q1 fx_$i 
23 }
24 eval compound $q1 b1
25 donly b0 b1 
26
27 #--------------------------
28 # 2
29 copy b_3 f
30 ttranslate f -1 0 -1
31
32 set q2 {}
33 for {set i 1} {$i < 5} {incr i} {
34   tcopy f fy_$i 
35   ttranslate fy_$i 0. [expr ($i*2)] 0.    
36   lappend q2 fy_$i 
37 }
38 eval compound $q2 b2
39 donly b0 b1 b2
40
41 #--------------------------
42 # 3
43 copy b_5 f
44 ttranslate f -1 -1 0
45
46 set q3 {}
47 for {set i 1} {$i < 5} {incr i} {
48   tcopy f fz_$i 
49   ttranslate fz_$i 0. 0. [expr ($i*2)]
50   lappend q3 fz_$i 
51 }
52 eval compound $q3 b3
53
54 #--------------------------
55 # 4
56 box bx .2 .2 .2 1.6 1.6 1.6 
57 explode bx f
58
59 set q4 {}
60 for {set i 0} {$i < 5} {incr i} {
61   for {set j 0} {$j < 5} {incr j} {
62     for {set k 0} {$k < 5} {incr k} {
63        for {set m 1} {$m < 6} {incr m} {
64          tcopy bx_${m} sx1_${i}_${j}_${k}_${m}
65          ttranslate sx1_${i}_${j}_${k}_${m} [expr ($i)*2] [expr ($j)*2] [expr ($k)*2]. 
66          lappend q4 sx1_${i}_${j}_${k}_${m}
67        }
68     }
69   }
70 }
71 eval compound $q4 b4
72
73 #--------------------------
74 bclearobjects; bcleartools;
75 baddobjects b0
76 baddcompound b1
77 baddcompound b2
78 baddcompound b3
79 baddcompound b4
80
81 bfillds 
82
83 regexp { +Tps: +([-0-9.+eE]+)} [bbuild result -t] full tps_time
84
85 if { $tps_time > 5. } {
86   puts "Error: low performance"
87 } else {
88   puts "OK: high performance"
89 }
90
91 set 2dviewer 1