## VacMan set vacMan(scale) 0.1 set vacMan(xT) 0.0 set vacMan(yT) 0.0 set vacMan(zT) 0.0 set vacMan(xR) 0.0 set vacMan(yR) 0.0 set vacMan(zR) 0.0 ## Head # Public set head(color) {0.8 0.3 0.3} set head(radius) 2.0 set head(length) 4.0 set head(squish) 0.0 set head(squash) 0.0 # Private set head(xR) 0.0 set head(yR) 0.0 set head(zR) 0.0 animatable: {set head(ssquash) [expr {1.125 + [expr {0.40 * $head(squash)}]}]} animatable: {set head(ssquish) [expr {0.85 + [expr {0.15 * $head(squish)}]}]} animatable: {set head(height) [expr {$head(radius) * $head(ssquish)}]} animatable: {set head(disp) [expr {0.6 * $head(height)}]} ## Eyes # Public set eyes(color) {0 0 0} set eyes(radius) 0.6 set eyes(pupil) 0.4 set eyes(yR) 0 set eyes(zR) 0 set eyes(disp_side) 1.0 # Private animatable: {set eyes(zMin) [expr {-1 * $eyes(radius)}]} animatable: {set eyes(zMax) $eyes(radius)} set eyes(thetaMax) 360.0 set eyes(volumePreservingScaleFactor) 1.25 animatable: {set eyes(xScale) [expr 1./sqrt($eyes(volumePreservingScaleFactor))]} animatable: {set eyes(yScale) $eyes(volumePreservingScaleFactor)} animatable: {set eyes(zScale) [expr 1./sqrt($eyes(volumePreservingScaleFactor))]} set eyes(xR) 0 animatable: {set eyes(height) [expr {$head(radius) + 0.1}]} animatable: {set eyes(disp_forw) [expr {$head(length) / 2.0}]} ## Wheels # Public set wheel(color) {0.6 1.0 0.6} set wheel(disp) 2.3 # Private animatable: {set wheel(radius) $head(height)} animatable: {set wheel(minorRad) [expr {$wheel(radius) * 0.35}]} animatable: {set wheel(majorRad) [expr {$wheel(radius) - $wheel(minorRad)}]} ## Spine # Public set spine(color) {0.7 0.7 0.7} set spine(length) 14.0 set spine(radius) 0.4 set spine(tilt) 0.0 # -1.0 to 1.0 set spine(disp) 0.6 # Private set spine(tiltDef) 35.0 set spine(tiltVar) 30.0 set spine(xR) 0.0 set spine(yR) 0.0 animatable: {set spine(zR) [expr {$spine(tiltDef) + ($spine(tiltVar) * $spine(tilt))}]} animatable: {set spine(height) [expr {$wheel(radius) * 1.5}]} animatable: {set spine(xT) [expr {0.0 - $spine(disp)}]} animatable: {set spine(yT) [expr {0.0 + $spine(height)}]} set spine(zT) 0.0 ## Tail # Public set tail(color) {0.7 0.2 0.3} set tail(radius) $spine(radius) set tail(length) 1.3 set tail(disp) 0.3 set tail(wig) 0.0 # -1.0 to 1.0 set tail(wag) 0.0 # -1.0 to 1.0 # Private animatable: {set tail(xT) [expr {0.0 - $tail(disp)}]} set tail(yT) 0.0 animatable: {set tail(zT) [expr $tail(disp)]} set tail(wigDef) 0.0 set tail(wigVar) 80.0 set tail(wagDef) -30.0 set tail(wagVar) 20.0 set tail(zR) 0.0 animatable: {set tail(yR) [expr {$tail(wagDef) + ($tail(wagVar) * $tail(wag))}]} animatable: {set tail(xR) [expr {$tail(wigDef) + ($tail(wigVar) * $tail(wig))}]} ## Sack # Public set sack(color) {0.8 0.4 0.3} set sack(full) 0.7 # Private set sack(max) 5.0 set sack(width) 5.0 animatable: {set sack(sag) [expr {2.0 + ($sack(max) * $sack(full))}]} animatable: {set sack(disp) [expr {-0.1 - $spine(radius)}]} ## Emotional State # Public set state(happyfactor) 0.5 # Private animatable: {set state(happy) [expr {$state(happyfactor) * $state(hungry)}]} animatable: {set state(hungry) $sack(full)}