OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/tclsh |
| 2 # |
| 3 # This script displays the field of rectangles used by --testset rtree |
| 4 # of speedtest1. Run this script as follows: |
| 5 # |
| 6 # rm test.db |
| 7 # ./speedtest1 --testset rtree --size 25 test.db |
| 8 # sqlite3 --separator ' ' test.db 'SELECT * FROM rt1' >data.txt |
| 9 # wish show_speedtest1_rtree.tcl |
| 10 # |
| 11 # The filename "data.txt" is hard coded into this script and so that name |
| 12 # must be used on lines 3 and 4 above. Elsewhere, different filenames can |
| 13 # be used. The --size N parameter can be adjusted as desired. |
| 14 # |
| 15 package require Tk |
| 16 set f [open data.txt rb] |
| 17 set data [read $f] |
| 18 close $f |
| 19 canvas .c |
| 20 frame .b |
| 21 button .b.b1 -text X-Y -command refill-xy |
| 22 button .b.b2 -text X-Z -command refill-xz |
| 23 button .b.b3 -text Y-Z -command refill-yz |
| 24 pack .b.b1 .b.b2 .b.b3 -side left |
| 25 pack .c -side top -fill both -expand 1 |
| 26 pack .b -side top |
| 27 proc resize_canvas_to_fit {} { |
| 28 foreach {x0 y0 x1 y1} [.c bbox all] break |
| 29 set w [expr {$x1-$x0}] |
| 30 set h [expr {$y1-$y0}] |
| 31 .c config -width $w -height $h |
| 32 } |
| 33 proc refill-xy {} { |
| 34 .c delete all |
| 35 foreach {id x0 x1 y0 y1 z0 z1} $::data { |
| 36 .c create rectangle $x0 $y0 $x1 $y1 |
| 37 } |
| 38 .c scale all 0 0 0.05 0.05 |
| 39 resize_canvas_to_fit |
| 40 } |
| 41 proc refill-xz {} { |
| 42 .c delete all |
| 43 foreach {id x0 x1 y0 y1 z0 z1} $::data { |
| 44 .c create rectangle $x0 $z0 $x1 $z1 |
| 45 } |
| 46 .c scale all 0 0 0.05 0.05 |
| 47 resize_canvas_to_fit |
| 48 } |
| 49 proc refill-yz {} { |
| 50 .c delete all |
| 51 foreach {id x0 x1 y0 y1 z0 z1} $::data { |
| 52 .c create rectangle $y0 $z0 $y1 $z1 |
| 53 } |
| 54 .c scale all 0 0 0.05 0.05 |
| 55 resize_canvas_to_fit |
| 56 } |
| 57 refill-xy |
OLD | NEW |