#!/bin/sh #\ exec wish "$0" ########## Variablendefinition ########## set pov(szene) "" set pov(bild) "" set pov(breite) 400 set pov(hoehe) 200 ########## dateiAuswahl ########## # Ermittelt den Namen der Szenendatei # und erstellt daraus den Namen der zu rendernden Datei # # Variablen: # datei(szene): Name der Szenendatei # datei(bild) : Name der zu rendernden Datei proc dateiAuswahl { } { global pov # Oeffnen des Dateibrowsers set pov(szene) [ tk_getOpenFile \ -filetypes { { Povray-Dokumente .pov } } ] # Erstellen des Namens für die Bilddatei set pov(bild) [ file rootname $pov(szene) ] set pov(bild) $pov(bild).tga } ########## Fensterelemente ########## # Die Frames, in denen die anderen Widgets angeordnet werden: frame .obererRahmen -borderwidth 1 -relief raised frame .mittlererRahmen -borderwidth 1 -relief raised frame .untererRahmen -borderwidth 1 -relief raised pack .obererRahmen -side top -fill x pack .mittlererRahmen -side top -fill x pack .untererRahmen -side top -fill x # Die Buttons in der unteren Zeile: button .renderKnopf -text Rendern \ -command { exec povray +I$pov(szene) +O$pov(bild) \ +W$pov(width) +H$pov(height) & } button .anzeigeKnopf -text Anzeigen \ -command { exec xv $pov(bild) & } pack .renderKnopf -in .untererRahmen \ -side left -fill x -expand yes pack .anzeigeKnopf -in .untererRahmen \ -side left -fill x -expand yes # Der Menuebutton mit Menue: menubutton .dateiKnopf -text Datei -menu .dateiKnopf.herunterklappMenue menu .dateiKnopf.herunterklappMenue .dateiKnopf.herunterklappMenue add command -label "Szenendatei wählen ..." \ -command dateiAuswahl .dateiKnopf.herunterklappMenue add separator .dateiKnopf.herunterklappMenue add command -label "Beenden" -command exit pack .dateiKnopf -in .obererRahmen -side left # Die Beschriftung für Eingabefeld und Schieberegler: label .bildnameAufschrift -text Bildname label .bildbreiteAufschrift -text Bildbreite label .bildhoeheAufschrift -text Bildhöhe # Eingabefeld und Schieberegler: entry .bildnameEingabefeld -width 30 \ -textvariable pov(bild) scale .bildbreiteScale -from 20 -to 400 -orient horizontal \ -variable pov(width) scale .bildhoeheScale -from 20 -to 400 -orient horizontal \ -variable pov(height) # Anordnen der Widgets im mittleren Teil: grid .bildnameAufschrift -in .mittlererRahmen -row 0 -column 0 -sticky sw grid .bildbreiteAufschrift -in .mittlererRahmen -row 1 -column 0 -sticky sw grid .bildhoeheAufschrift -in .mittlererRahmen -row 2 -column 0 -sticky sw grid .bildnameEingabefeld -in .mittlererRahmen -row 0 -column 1 -sticky we grid .bildbreiteScale -in .mittlererRahmen -row 1 -column 1 -sticky we grid .bildhoeheScale -in .mittlererRahmen -row 2 -column 1 -sticky we # Aendern des Fenstertitels: wm title . "povgui"