File: end

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (147 lines) | stat: -rw-r--r-- 4,828 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
set mist 0
if { [info exists command] && [string compare $command "mkoffset"] == 0 } {
    regexp {Mass +: +([-0-9.+eE]+)} [lprops s] full sm
    regexp {Tolerance +MAX=([-0-9.+eE]+) +AVG=([-0-9.+eE]+) +MIN=[-0-9.+eE]+} [tolerance s] full MaxTol_s AvgTol_s
    puts "Length of shape a is equal to $sm"
    set theOff [expr $sm * $off_param ]
    puts [format "Considered Offset value is %s " $theOff]
    if { ![catch { mkoffset result s 1 $theOff } catch_res] } {
	renamevar result_1 result
	if { ![catch { set chsh [checkshape result] } catch_chsh] } {
	    puts $chsh
        } else {
    	    puts "Error : $catch_chsh"
    	    set mist 1
	}
    } 
}

if { [isdraw result] && $mist == 0} {
    if { [info exists command] && [string compare $command "mkoffset"] == 0 } {
	regexp {Mass +: +([-0-9.+eE]+)} [lprops result] full m

	set vertex_list [explode result v]
	set ll_v [llength $vertex_list]

	set edge_list [explode result e]
	set ll_e [llength $edge_list]

	set wire_list [explode result w]
	if { [string compare $wire_list ""] == 0} {
	    set wire_list result
	}
	set ll_w [llength $wire_list]

	if { $ll_v == 0 } {
	    if { $theOff < 0 } {
		puts [format "Warning : The resulting shape is an empty COMPOUND"]
	    } else {
		puts [format "Error : The resulting shape is an empty COMPOUND"]
	    }
	    puts [whatis result]
	    puts [nbshapes result]
	    puts [checksection result]
	} else {
	    puts [format "The resulting shape contains %s wires" $ll_w]
	    foreach wire $wire_list {
		puts "Info for $wire:"
		regexp {Tolerance +MAX=([-0-9.+eE]+) +AVG=([-0-9.+eE]+) +MIN=[-0-9.+eE]+} [tolerance $wire] full MaxTol_res AvgTol_res
		if { $MaxTol_res > $MaxTol_s } {
		    puts "Error : big tolerance of shape $wire"
		}
		regexp {nb +alone +Vertices +: +([-0-9.+eE]+)} [checksection $wire] full num
		if { $num != 0 } {
		    puts [format "Error : $wire is NOT a closed wire"]
		}
		mkplane res_plane $wire
		set chsh_res_plane [checkshape res_plane]
		if { [regexp {Faulty +shapes +in +variables +faulty_([-0-9.+eE]+) +to +faulty_([-0-9.+eE]+)} $chsh_res_plane full from_faulty to_faulty ] } {
		    puts "Shape $wire has self-intersection"
		}
	    }
	}

	if { [string compare $length "empty"] != 0 } {
	    puts "The expected length is $length"
	    #check of change of length is < 1%
	    if { ($length != 0 && [expr 1.*abs($length - $m)/$length] > 0.01) || ($length == 0 && $m != 0) } {
		puts "Error : The length of the resulting shape is $m"
	    }
	} else {
	    if { $m != 0 } {
		puts "Error : The offset is not valid. The length is $m"
	    }
	}
	# check for number of vertexes
	if { [info exists nbsh_v ] } {
	    if { ($ll_v != $nbsh_v) || ($nbsh_v == 0 && $ll_v != 0) } {
		puts "Error : The resulting shape is WRONG because it must contain $nbsh_v vertexes instead of $ll_v"
	    } else {
		puts "The resulting shape contains $ll_v vertexes"
	    }
	}
	# check for number of edges
	if { [info exists nbsh_e ] } {
	    if { ($ll_e != $nbsh_e) || ($nbsh_e == 0 && $ll_e != 0) } {
		puts "Error : The resulting shape is WRONG because it must contain $nbsh_e edges instead of $ll_e"
	    } else {
		puts "The resulting shape contains $ll_e edges"
	    }
	}
	# check for number of wires
	if { [info exists nbsh_w ] } {
	    if { ($ll_w != $nbsh_w) || ($nbsh_w == 0 && $ll_w != 0) } {
		puts "Error : The resulting shape is WRONG because it must contain $nbsh_w wires instead of $ll_w"
	    } else {
		puts "The resulting shape contains $ll_w wires"
	    }
	}
    } else {
	regexp {Mass +: +([-0-9.+eE]+)} [vprops s] full sm
	regexp {Mass +: +([-0-9.+eE]+)} [vprops result] full m
	
	#check if result is valid
	puts [checkshape result]
	if { $m == 0 || $sm == $m } {
	    puts "Error : The offset is not valid. The volume is $m."
	}
	
	#check of face's square value
	foreach ResultFace [ explode result f ]  {
	    regexp {Mass +: +([-0-9.+eE]+)} [sprops $ResultFace] full fmass
	    if { $fmass < 0 } {
		puts "Error : The area of face $ResultFace of the resulting shape is negative."
	    }
	}
	#check for bsection
	if { [info exists GlobFaces] && [llength $GlobFaces] == 0 } {
	    puts [ bsection re result s ]
	    if { [ isdraw re ] } {
		regexp {Mass +: +([-0-9.+eE]+)} [lprops $re] full remass 
		if { $remass != 0 } {
		    puts "Error: bsection of the result and s is not equal to zero."
		}
	    }
	}
	
	if { $volume > 0 } {
	    puts "The expected volume is $volume"
	}
	#check of change of volume is < 1%
	if { ($volume > 0 && [expr 1.*abs($volume - $m)/$volume] > 0.01) || ($volume == 0 && $m != 0 && $sm != $m) } {
	    puts "Error : The volume of the resulting shape is $m"
	}
    }
    if { $m > 0 } {
	clear
	smallview
	donly result
	fit
	xwd $imagedir/${test_image}.png
    } 
} else {
    puts "Error : The offset cannot be built."
}

# to end a test script
puts "TEST COMPLETED"