TABLE OF CONTENTS
::pwtk::scaleVec
SYNOPSIS
proc ::pwtk::scaleVec {args} {
PURPOSE
Scale (lattice) vectors
ARGUMENTS
- args -- composed of scale_x ?scale_y? ?scale_z? vectors
SOURCE
if { [ llength $args] < 2 || [llength $args] > 4 } { ::pwtk::error "wrong number of arguments, must be: pwtk::scaleVec scale_x ?scale_y? ?scale_z? vectors" } # parse args 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 vec [lindex $args end] # scale vectors foreach {x y z} $vec { set vx [expr $scale(0) * $x] set vy [expr $scale(1) * $y] set vz [expr $scale(2) * $z] append result " $vx $vy $vz\n" } return $result }