0029293: Boolean Operations algorithm does not preserve the orientations of the faces
[occt.git] / tests / bugs / modalg_7 / bug29293_1
1 puts "========"
2 puts "OCC29293"
3 puts "========"
4 puts ""
5 #################################################
6 # Boolean Operations algorithm does not preserve the orientations of the faces
7 #################################################
8
9 brestore [locate_data_file bug29293_etchable_face_compound.brep] a
10 brestore [locate_data_file bug29293_top_shell.brep] b
11
12 bclearobjects
13 bcleartools
14 baddcompound a
15 baddtools b
16 bfillds
17 bbop result 0
18
19 checkshape result
20 checkprops result -s 411200
21 checknbshapes result -vertex 588 -edge 588 -wire 147 -face 147 -shell 147
22
23
24 # Check that the normal directions have been preserved.
25 # All faces from input shapes which could pass into result have normals
26 # directed stricly to the top (0, 0, 1). So, it is necessary to check
27 # that all faces from the result have the same normal direction.
28
29 foreach f [explode result f] {
30   if {![regexp "(0, 0, 1)" [normals $f -length 1 -print]]} {
31     puts "Error: the orientation is changed"
32   }
33 }