TABLE OF CONTENTS
::pwtk::scaleCoor
SYNOPSIS
proc ::pwtk::scaleCoor {args} {
PURPOSE
Scale given coordinates.
ARGUMENTS
- args -- composed of scale_x ?scale_y? ?scale_z? coor
SOURCE
if { [ llength $args] < 2 || [llength $args] > 4 } { ::pwtk::error "wrong number of arguments, must be: pwtk::scaleCoor scale_x ?scale_y? ?scale_z? coor" } set nargs [llength $args] set scale(0) [lindex $args 0] set scale(1) $scale(0) set scale(2) $scale(0) for {set i 1} {$i<$nargs-1} {incr i} { set scale($i) [lindex $args $i] } set coor [lindex $args end] set result "" foreach line [split $coor \n] { set len [llength $line] if { $len == 4 } { set sym [lindex $line 0] set x [lindex $line 1] set y [lindex $line 2] set z [lindex $line 3] append result [format "%3s %15.10f %15.10f %15.10f\n" \ $sym [expr $x * $scale(0)] [expr $y * $scale(1)] [expr $z * $scale(2)]] } } return $result }