0030760: Modeling Algorithms - Intersection fails in Occt 7.3.0
[occt.git] / tests / bugs / modalg_7 / bug27090
CommitLineData
340054e1 1puts "========"
2puts "OCC27090"
3puts "========"
4puts ""
5#######################################################
6# Point is classified IN solid but actually it is OUT
7#######################################################
8
9smallview
10
11# planar face
12plane pln_f1 0 -875 -1.4432899320127035e-014 0 1 1.1102230246251565e-016
13erase pln_f1
14mkface f1 pln_f1 -1000000 1000000 -1000000 1000000
15
16# planar face
17plane pln_f2 1084.71007164 -980 -2128.6796868400002 1.110223024625157e-016 -1 1.1102230246251563e-016
18erase pln_f2
19mkface f2 pln_f2 -1000000 1000000 -1000000 1000000
20
21# planar face
22plane pln_f3 -308.43155740558768 -800 -2407.1041518310276 0.80901699437494767 9.2444637330587307e-033 -0.5877852522924728
23erase pln_f3
24mkface f3 pln_f3 -1000000 1000000 -1000000 1000000
25
26# planar face
27plane pln_f4 -381.4805392043022 -800 -2409.117597419774 -0.15639998811787861 -1.5422229525403152e-032 -0.98769380058635958
28erase pln_f4
29mkface f4 pln_f4 -1000000 1000000 -1000000 1000000
30
31# cylindrical face
32cylinder cyl_f5 0 0 -1.0103029524088925e-013 0 1 1.1102230246251565e-016 2440
33erase cyl_f5
34mkface f5 cyl_f5 0 6.2831853071795862 -1000000 1000000
35
36# planar face
37plane pln_f6 -309.45754782652125 -800 -2369.8806246344966 0.98769380058635958 -4.4408920985006262e-016 -0.15639998811787881
38erase pln_f6
39mkface f6 pln_f6 -1000000 1000000 -1000000 1000000
40
41# planar face
42plane pln_f7 -330.11602392243287 -800 -2299.7847255135234 -0.58778525229247269 -1.6653345369377348e-016 -0.80901699437494767
43erase pln_f7
44mkface f7 pln_f7 -1000000 1000000 -1000000 1000000
45
46# cylindrical face
47cylinder cyl_f8 0 0 -2.0206059048177849e-013 0 -1 1.1102230246251565e-016 2340
48erase cyl_f8
49mkface f8 cyl_f8 0 6.2831853071795862 -1000000 1000000
50
51# make volume operation
52mkvolume v f1 f2 f3 f4 f5 f6 f7 f8
53
54donly v
55
56explode v
57
58if {[llength [explode v_6]] > 1} {
59 # We expect that v_6 is invalid solid containing 2 shells,
60 # and use the first shell to create a new valid solid.
61
62 shape solid so
63 add v_6_1 solid
64 point p -131.81074615766306 -874.99999999999977 -2443.8619433375443
65
66 donly solid p
67
68 set output [bclassify solid p]
69
70 regexp {The point is ([^ ]*)} $output dummy state
71 if {$state != "OUT"} {
72 puts "Error: point is classified as $state, but must be OUT"
73 } else {
74 puts "Info: point is classified OUT, it is OK"
75 }
76} else {
77 puts "Info: test is not actual for the current version"
78}
79
80fit
81checkview -screenshot -2d -path ${imagedir}/${test_image}.png