mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-11 01:58:22 +08:00
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
77 lines
1.4 KiB
Plaintext
77 lines
1.4 KiB
Plaintext
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
|