mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0024639: Parallelization FillDS part of BO
Edge/Edge Interferences Changes: 1. class BOPAlgo_PaveFiller - method: void BOPAlgo_PaveFiller::PerformEE() the chages provides the parallel computations of Edge/Edge interferences. - auxiliary classes: BOPAlgo_EdgeEdge BOPAlgo_EdgeEdgeFunctor BOPAlgo_EdgeEdgeCnt have been added. The classes are auxiliary classes to provide the parallel computations of Edge/Edge interferences. 2. class BOPTest -method: void BOPTest::PartitionCommands(Draw_Interpretor& theCommands) - static function: Standard_Integer bfillds(Draw_Interpretor& di, Standard_Integer n, const char** a) The syntax of the command "bfillds" has been changed. > bfillds [-s -t] options: -s - launch the algorithm in sequential mode -t - display CPU time Test case for issue CR24639
This commit is contained in:
76
tests/bugs/modalg_5/bug24639
Normal file
76
tests/bugs/modalg_5/bug24639
Normal file
@@ -0,0 +1,76 @@
|
||||
puts "========="
|
||||
puts "OCC24639"
|
||||
puts "========="
|
||||
puts ""
|
||||
###########################################################
|
||||
# Parallelization FillDS part of BO
|
||||
###########################################################
|
||||
|
||||
set N 5
|
||||
set dC 1.
|
||||
set aC [expr $N + $dC]
|
||||
|
||||
#------------------------------------------
|
||||
# z
|
||||
vertex v1 0 0 0
|
||||
vertex v2 0 0 $aC
|
||||
edge ez v1 v2
|
||||
|
||||
set qz {}
|
||||
for {set i 0} {$i < $N} {incr i} {
|
||||
for {set j 0} {$j < $N} {incr j} {
|
||||
tcopy ez ez_${i}_{$j}
|
||||
ttranslate ez_${i}_{$j} [expr $i + ${dC}] [expr $j + $dC] 0.
|
||||
lappend qz ez_${i}_{$j}
|
||||
}
|
||||
}
|
||||
eval compound $qz bz
|
||||
|
||||
#------------------------------------------
|
||||
# x
|
||||
vertex v1 0. 0. 0.
|
||||
vertex v2 $aC 0. 0.
|
||||
edge ex v1 v2
|
||||
|
||||
set qx {}
|
||||
for {set i 0} {$i < $N} {incr i} {
|
||||
for {set j 0} {$j < $N} {incr j} {
|
||||
tcopy ex ex_${i}_{$j}
|
||||
ttranslate ex_${i}_{$j} 0. [expr $i + $dC] [expr $j + $dC]
|
||||
lappend qx ex_${i}_{$j}
|
||||
}
|
||||
}
|
||||
eval compound $qx bx
|
||||
|
||||
#------------------------------------------
|
||||
# y
|
||||
vertex v1 0. 0. 0.
|
||||
vertex v2 0. $aC 0.
|
||||
edge ey v1 v2
|
||||
|
||||
set qy {}
|
||||
for {set i 0} {$i < $N} {incr i} {
|
||||
for {set j 0} {$j < $N} {incr j} {
|
||||
tcopy ey ey_${i}_{$j}
|
||||
ttranslate ey_${i}_{$j} [expr $i + $dC] 0. [expr $j + $dC]
|
||||
lappend qy ey_${i}_{$j}
|
||||
}
|
||||
}
|
||||
eval compound $qy by
|
||||
|
||||
nurbsconvert bx bx
|
||||
nurbsconvert by by
|
||||
nurbsconvert bz bz
|
||||
|
||||
# add the arguments
|
||||
bclearobjects
|
||||
bcleartools
|
||||
baddcompound bx
|
||||
baddcompound by
|
||||
baddcompound bz
|
||||
|
||||
# intersection step
|
||||
bfillds -t
|
||||
|
||||
# intersection step
|
||||
bfillds -t -s
|
Reference in New Issue
Block a user