0024696: Lower performance of the new Edge/Edge intersection algorithm
[occt.git] / tests / caf / named_shape / D3
CommitLineData
40093367 1#INTERFACE CAF
2# NamedShape
3#
4# Testing attribute: TNaming_NamedShape
5#
6# Testing command: SelectGeometry (VERTEX)
7#
8
9puts "caf002-D3"
10set QA_DUP 0
11
12set ter _*
13foreach OS [directory [concat aBox1$ter]] {
14 unset $OS
15}
16
17# Create a box
18set aSetX1 10
19set aSetY1 20
20set aSetZ1 30
21set aSetDX1 100
22set aSetDY1 200
23set aSetDZ1 300
24
25box aBox1 ${aSetX1} ${aSetY1} ${aSetZ1} ${aSetDX1} ${aSetDY1} ${aSetDZ1}
26
27# Create a label
28set aLabel 0:4
29Label D ${aLabel}
30
31# Set a shape to the label
32ImportShape D ${aLabel} aBox1
33
34# Close/Open transaction
35NewCommand D
36
37# Select all the sub-shapes of type <aType>
38# aType = VERTEX
39set aType v
40explode ${aBox1} ${aType}
41
42set i 0
43set iSubLabel 3000
44foreach S [directory [concat $aBox1$ter]] {
45 incr i
46 incr iSubLabel
47 puts "SubShape=$S"
48
49 #Memorize a bounding box of the selected sub-shape
50 set aBoundingBox1 [bounding ${S}]
51 set X1_Box1 [lindex ${aBoundingBox1} 0]
52 set Y1_Box1 [lindex ${aBoundingBox1} 1]
53 set Z1_Box1 [lindex ${aBoundingBox1} 2]
54 set X2_Box1 [lindex ${aBoundingBox1} 3]
55 set Y2_Box1 [lindex ${aBoundingBox1} 4]
56 set Z2_Box1 [lindex ${aBoundingBox1} 5]
57
58 # Select a sub-shape
59 set LABEL [Label D 0:$iSubLabel]
60 SelectGeometry D ${LABEL} ${S} ${aBox1}
61
62 # Solve selected sub-shape
63 SolveSelection D ${LABEL}
64
65 # Get selected (and solved) sub-shape
66 GetShape D ${LABEL} aSubShape
67
68 # Get bounding box
69 set aBoundingBox2 [bounding aSubShape]
70 set X1_Box2 [lindex ${aBoundingBox2} 0]
71 set Y1_Box2 [lindex ${aBoundingBox2} 1]
72 set Z1_Box2 [lindex ${aBoundingBox2} 2]
73 set X2_Box2 [lindex ${aBoundingBox2} 3]
74 set Y2_Box2 [lindex ${aBoundingBox2} 4]
75 set Z2_Box2 [lindex ${aBoundingBox2} 5]
76
77 if {${X1_Box1} != ${X1_Box2} || ${Y1_Box1} != ${Y1_Box2} || ${Z1_Box1} != ${Z1_Box2} || ${X2_Box1} != ${X2_Box2} || ${Y2_Box1} != ${Y2_Box2} || ${Z2_Box1} != ${Z2_Box2}} {
78 puts "SelectGeometry command (${i}): Error"
79 }
80}
81
82puts "SelectGeometry command: OK"