0024157: Parallelization of assembly part of BO
[occt.git] / tests / bugs / modalg_5 / bug24639
1 puts "========="
2 puts "OCC24639"
3 puts "========="
4 puts ""
5 ###########################################################
6 # Parallelization FillDS part of BO
7 ###########################################################
8
9 set N 5
10 set dC 1.
11 set aC [expr $N + $dC]
12
13 #------------------------------------------
14 # z
15 vertex v1 0 0 0 
16 vertex v2 0 0 $aC 
17 edge ez v1 v2
18
19 set qz {}
20 for {set i 0} {$i < $N} {incr i} {
21  for {set j 0} {$j < $N} {incr j} {
22   tcopy ez ez_${i}_{$j}
23   ttranslate ez_${i}_{$j} [expr $i + ${dC}] [expr $j + $dC] 0.
24   lappend qz ez_${i}_{$j}
25  }
26 }
27 eval compound $qz bz
28
29 #------------------------------------------
30 # x
31 vertex v1 0. 0. 0. 
32 vertex v2 $aC  0. 0. 
33 edge ex v1 v2
34
35 set qx {}
36 for {set i 0} {$i < $N} {incr i} {
37  for {set j 0} {$j < $N} {incr j} {
38   tcopy ex ex_${i}_{$j}
39   ttranslate ex_${i}_{$j} 0. [expr $i + $dC] [expr $j + $dC]
40   lappend qx ex_${i}_{$j}
41  }
42 }
43 eval compound $qx bx
44
45 #------------------------------------------
46 # y
47 vertex v1 0. 0. 0. 
48 vertex v2 0. $aC 0.  
49 edge ey v1 v2
50
51 set qy {}
52 for {set i 0} {$i < $N} {incr i} {
53  for {set j 0} {$j < $N} {incr j} {
54   tcopy ey ey_${i}_{$j}
55   ttranslate ey_${i}_{$j} [expr $i + $dC] 0. [expr $j + $dC]
56   lappend qy ey_${i}_{$j}
57  }
58 }
59 eval compound $qy by
60
61 nurbsconvert bx bx
62 nurbsconvert by by
63 nurbsconvert bz bz
64
65 # add the arguments
66 bclearobjects
67 bcleartools
68 baddcompound bx
69 baddcompound by
70 baddcompound bz
71
72 # intersection step 
73 bfillds -t
74
75 # intersection step 
76 bfillds -t -s