e3483a1af8fa6bfaf9d3faa66f52dab7da17495d
[occt.git] / tests / bugs / modalg_6 / bug26897
1 puts "============"
2 puts "OCC26897"
3 puts "============"
4 puts ""
5 ###############################
6 ## The mesh should not rebuild on copied shape
7 ###############################
8
9 proc CHECKMESH {data nb_tria nb_nodes defl tol} {
10     regexp {This shape contains ([0-9]+) triangles.\s* ([0-9]+) nodes.} $data dummy cur_nb_tria cur_nb_nodes
11     regexp {Maximal deflection ([-0-9.+eE]+)} $data dummy cur_defl
12
13     if {$nb_tria == $cur_nb_tria && $nb_nodes == $cur_nb_nodes && abs($defl - $cur_defl) <= $tol} {
14       puts "OK: Triangulation is not changed"
15     } else {
16       if {$nb_tria != $cur_nb_tria} {
17         puts "Error: Wrong number of triangles, $cur_nb_tria instead of $nb_tria"
18       }
19       if {$nb_nodes != $cur_nb_nodes} {
20         puts "Error: Wrong number of nodes, $cur_nb_nodes instead of $nb_nodes"
21       }
22       set diff [expr {abs($defl - $cur_defl)}]
23       if {$diff > $tol} {
24         puts "Error: Wrong deflection, $cur_defl instead of $defl (difference is $diff)"
25       }
26     }
27     puts ""
28 }
29
30 ###############################
31
32
33 pload MODELING
34 set tol 1.0e-7
35
36 cone c 0 0 0 45 0
37 mkface f c 0 6.28318530717958647 0 10
38
39 # Mesh the face and store initial data
40 incmesh f 0.1
41 set base [trinfo f]
42 regexp {This shape contains ([0-9]+) triangles.\s* ([0-9]+) nodes.} $base dummy base_tria base_nodes
43 regexp {Maximal deflection ([-0-9.+eE]+)} $base dummy base_defl
44
45 # Copy face
46 tcopy -m f fc
47
48 # Remesh initial face and check it is not changed
49 incmesh f 1.0
50 set data [trinfo f]
51 CHECKMESH $data $base_tria $base_nodes $base_defl $tol
52
53 # Compare mesh info from copied shape
54 set data [trinfo fc]
55 CHECKMESH $data $base_tria $base_nodes $base_defl $tol
56
57 # Remesh copied shape and compare mesh once again
58 incmesh fc 1.0
59 set data [trinfo fc]
60 CHECKMESH $data $base_tria $base_nodes $base_defl $tol
61
62 copy fc result
63 checkview -display result -3d -path ${imagedir}/${test_image}.png