aboutsummaryrefslogtreecommitdiff
path: root/sandbox/contours.tcl
blob: c4e346667ba51ebc1409bcae9324141746a437c8 (plain)
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
#!/usr/bin/wish -f

load tkzinc3.1.so
package require Img

set top 1
set lw 8

set r [zinc .r -backcolor gray -relief sunken]
pack .r -expand t -fill both
.r configure -width 800 -height 500
.r scale $top 1 -1
#.r configure -drawbboxes t
set view [.r add group $top -tags controls]

#set poly [.r add curve $view "50 -150 300 -150 300 -300 50 -300 50 -150" \
#	-closed t -fillcolor tan]
set poly [.r add curve $view "50 -150 50 -300 300 -300 300 -150 50 -150" \
	-closed t -fillcolor tan]
.r scale $poly 2.0 2.0
.r translate $poly -60 150
set rect [.r add rectangle $view "50 -200 100 -50"]
set ellipse [.r add arc $view "150 -200 300 -350"]
set arc [.r add arc $view "-25 -150 125 -300"]
.r scale $arc 2.0 2.0
.r translate $arc -60 150

set mp [.r add curve $view ""  \
	    -linecolor yellow -fillcolor tan -fillpattern AlphaStipple8 \
	    -markercolor red -tags "poly" -linewidth $lw -filled t -closed t]

.r contour $mp union $poly
.r contour $mp diff $ellipse
.r contour $mp union $arc
.r contour $mp diff $rect

.r itemconfigure $mp -relief raised -visible t

.r remove $arc $ellipse $rect $poly

#.r itemconfigure $poly -relief raised -linewidth 8

# "50 -200 100 -200 100 -50 50 -50 50 -200"
source "controls.tcl"