## ## Copyright (c) 1999 PIXAR. All rights reserved. This program or ## documentation contains proprietary confidential information and trade ## secrets of PIXAR. Reverse engineering of object code is prohibited. ## Use of copyright notice is precautionary and does not imply ## publication. ## ## RESTRICTED RIGHTS NOTICE ## ## Use, duplication, or disclosure by the Government is subject to the ## following restrictions: For civilian agencies, subparagraphs (a) through ## (d) of the Commercial Computer Software--Restricted Rights clause at ## 52.227-19 of the FAR; and, for units of the Department of Defense, DoD ## Supplement to the FAR, clause 52.227-7013 (c)(1)(ii), Rights in ## Technical Data and Computer Software. ## ## Pixar ## 1001 West Cutting Blvd. ## Richmond, CA 94804 ## ## ---------------------------------------------------------------------------- # # SlimParser.txt: # example parsing package for Slim ascii files. Implemented as # a collection of namespaces whose available procs define # the grammar (beyond standard TCL syntax) of the system. # # NB: this package must be vaguely re-entrant to support # nested palette references. # # $Revision: #1 $ # namespace eval ::Slim::ExParser { # current itcl object to receive msgs during parsing variable gParseContext {} variable gIDMap; #array mapping old to new ids for importing of connections variable AppearanceProcs variable gEntries 0 proc slim {version type creator body} { variable gIDMap variable gEntries if {$gEntries == 0} { catch "rename ::unknown ::sysUnknown" rename ::Slim::ExParser::unknown ::unknown catch "unset gIDMap" set gIDMap(_) {}; #init as an array } incr gEntries switch -glob -- $type { extensions { set err [catch {namespace eval ::Slim::ExParser::extensions $body} msg] } palette { set err [catch {namespace eval ::Slim::ExParser::palette $body} msg] } appearance { set err [catch {namespace eval ::Slim::ExParser::palette $body} msg] } collection { set err [catch {namespace eval ::Slim::ExParser::collection $body} msg] } TOR { set err [catch {namespace eval ::Slim::ExParser::TOR $body} msg] } default { ::RAT::LogMsg ERROR "unknown slim filetype $type" set err 1 } } incr gEntries -1 if {$gEntries == 0} { rename ::unknown ::Slim::ExParser::unknown catch "rename ::sysUnknown ::unknown" } if $err { global errorInfo ::RAT::LogMsg ERROR "$msg ($errorInfo)" } } proc translateID {id} { if [info exists ::Slim::ExParser::gIDMap($id)] { return $::Slim::ExParser::gIDMap($id) } return $id } proc unknown {cmd args} { ::RAT::LogMsg WARNING "skipping unknown Slim keyword: $cmd" set info $cmd foreach arg $args { if {[string length $arg] < 40} { lappend info $arg } else { # these arguments could be really long # and printing too much info to the MsgLog # can be bad. just take the first element. lappend info "[lindex $arg 0]..." } } ::RAT::LogMsg WARNING " while parsing: $info" #error "$cmd" } # these procs are shared between various namespaces below # so we package them into a string and eval them into each # namespace. Note that it's important that these procs run # locally in each namespace. variable propertyProcs { proc description d { $::Slim::ExParser::gParseContext SetDescription $d } proc label l { $::Slim::ExParser::gParseContext SetLabel $l } proc display d { $::Slim::ExParser::gParseContext SetDisplayLevel $d } proc state b { $::Slim::ExParser::gParseContext SetState $b } proc subtype t { $::Slim::ExParser::gParseContext SetSubtype $t } proc provider {p {range ""}} { $::Slim::ExParser::gParseContext SetValueProvider $p if {$range != ""} { $::Slim::ExParser::gParseContext SetValueProviderRange $range } } proc providerrange range { $::Slim::ExParser::gParseContext SetValueProviderRange $range } proc connection c { $::Slim::ExParser::gParseContext SetConnection $c } proc detail {d {default {}} {style {}}} { # uniform, varying, mustvary $::Slim::ExParser::gParseContext SetDetail $d $default $style } proc access a { # input, output, gstate $::Slim::ExParser::gParseContext SetAccess $a } proc userdata d { $::Slim::ExParser::gParseContext SetUserDataArray $d } proc msghandler d { # msghandler { # SetValue - # SetValueProvider { # {::Px::ValueChanged %obj} # } # } foreach {msg cmd} $d { lappend msgs $msg if {$cmd != "-"} { foreach m $msgs { $::Slim::ExParser::gParseContext SetMsgHandler $m \ [string trim $cmd] } set msgs {} } } } } variable atomicPropertyProcs { proc default d { $::Slim::ExParser::gParseContext SetDefaultValue $d } proc value v { $::Slim::ExParser::gParseContext SetValue $v } proc range r { $::Slim::ExParser::gParseContext SetRange $r } proc userrange r { $::Slim::ExParser::gParseContext SetUserRange $r } proc index i { $::Slim::ExParser::gParseContext SetArrayIndex $i } proc expression {ex} { $::Slim::ExParser::gParseContext SetExpression $ex } proc tclcontext c { $::Slim::ExParser::gParseContext SetTCLContext $c } } variable createPropertyProcs { proc collection {type nm body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewCollection $type $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::collection $body } else { ::RAT::LogMsg WARNING "new collection failed: $type $nm" } set ::Slim::ExParser::gParseContext $oldContext } proc parameter {type nm body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewParameter $type $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::parameter $body } set ::Slim::ExParser::gParseContext $oldContext } proc attribute {type nm body} { ribattribute $type $nm $body } proc ribattribute {type nm body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewRIBAttribute $type $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::ribattribute $body } set ::Slim::ExParser::gParseContext $oldContext } proc tclattribute {type nm body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewTCLAttribute $type $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::tclattribute $body } set ::Slim::ExParser::gParseContext $oldContext } proc torattribute {type nm body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewTORAttribute $type $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::torattribute $body } set ::Slim::ExParser::gParseContext $oldContext } proc slimattribute {type nm body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewSlimAttribute $type $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::slimattribute $body } set ::Slim::ExParser::gParseContext $oldContext } } variable appearanceProcs { proc identity id { $::Slim::ExParser::gParseContext SetID $id } proc label l { $::Slim::ExParser::gParseContext SetLabel $l } proc description d { $::Slim::ExParser::gParseContext SetDescription $d } proc display d { $::Slim::ExParser::gParseContext SetDisplayLevel $d } proc subtype t { $::Slim::ExParser::gParseContext SetSubtype $t } proc lighttype t { $::Slim::ExParser::gParseContext SetLighttype $t } proc flags f { # current unused $::Slim::ExParser::gParseContext SetFlags $f } proc icon i { $::Slim::ExParser::gParseContext SetIcon $i } proc previewinfo body { # assume container of previewinfo can handle # previewinfo messages (so don't change gParseContext). namespace eval ::Slim::ExParser::previewinfo $body } proc bundleview body { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext [$oldContext NewBundleView] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::bundleview $body } set ::Slim::ExParser::gParseContext $oldContext } proc userdata d { $::Slim::ExParser::gParseContext SetUserDataArray $d } } } #---------------------------------------------------------------------- namespace eval ::Slim::ExParser::extensions { variable gVendor {} variable gPrefix {} proc extensions {vendor prefix body} { variable gVendor variable gPrefix set oldv $gVendor set oldp $gPrefix set gVendor $vendor set gPrefix $prefix eval $body set gVendor $oldv set gPrefix $oldp } proc template {type nm body} { templateV $type $nm 0 $body } proc templateV {type nm version body} { variable gVendor variable gPrefix set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewTemplate $type $nm $gVendor $gPrefix $version] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::template $body } set ::Slim::ExParser::gParseContext $oldContext } proc customui {nm body} { variable gVendor set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext [$oldContext NewCustomUI $gVendor $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::customui $body } set ::Slim::ExParser::gParseContext $oldContext } proc expressionui {type nm body} { variable gVendor set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewExpressionUI $gVendor $type $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::expressionui $body } set ::Slim::ExParser::gParseContext $oldContext } proc cmdui {nm body} { variable gVendor set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewCmdUI $gVendor $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::cmdui $body } set ::Slim::ExParser::gParseContext $oldContext } } namespace eval ::Slim::ExParser::expressionui { proc LaunchExpression e { $::Slim::ExParser::gParseContext SetLaunchExpression $e } } namespace eval ::Slim::ExParser::customui { proc TclTkSource { body } { $::Slim::ExParser::gParseContext SetTclTkSource $body } proc classification c { $::Slim::ExParser::gParseContext SetClassification $c } } namespace eval ::Slim::ExParser::cmdui { proc TclTkSource { body } { $::Slim::ExParser::gParseContext SetTclTkSource $body } proc invocation {menupath cmd args} { $::Slim::ExParser::gParseContext AddInvocation $menupath $cmd $args } } namespace eval ::Slim::ExParser::palette { proc palette {id body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext [$oldContext NewPalette $id] if {$::Slim::ExParser::gParseContext != {}} { eval $body } set ::Slim::ExParser::gParseContext $oldContext } proc palettereference file { set oldContext $::Slim::ExParser::gParseContext slim NewPaletteReference $file set ::Slim::ExParser::gParseContext $oldContext } proc description d { $::Slim::ExParser::gParseContext SetDescription $d } proc display d { $::Slim::ExParser::gParseContext SetDisplayLevel $d } proc label l { $::Slim::ExParser::gParseContext SetLabel $l } proc state b { $::Slim::ExParser::gParseContext SetState $b } proc instance {type nm master body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$::Slim::ExParser::gParseContext NewInstance $type $nm $master] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::instance $body } set ::Slim::ExParser::gParseContext $oldContext } proc function {type nm template body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$::Slim::ExParser::gParseContext NewFunction $type $nm $template] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::function $body } set ::Slim::ExParser::gParseContext $oldContext } proc guiinfo {geom vis {body {}}} { $::Slim::ExParser::gParseContext SetGUIInfo $geom $vis if {$body != {}} { namespace eval ::Slim::ExParser::guiinfo $body } } proc savemode m { $::Slim::ExParser::gParseContext SetSaveMode $m } proc userdata d { $::Slim::ExParser::gParseContext SetUserDataArray $d } } namespace eval ::Slim::ExParser::guiinfo { proc view v { $::Slim::ExParser::gParseContext SetViewStyle $v } proc graph v { $::Slim::ExParser::gParseContext SetGraphVisible $v } proc panes body { foreach {p s} $body { $::Slim::ExParser::gParseContext SetPaneSize $p $s } } proc graphArea {body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$::Slim::ExParser::gParseContext GetGraphArea] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::graphArea $body } set ::Slim::ExParser::gParseContext $oldContext } } namespace eval ::Slim::ExParser::graphArea { proc graphState {name body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$::Slim::ExParser::gParseContext NewGraphState $name] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::graphState $body } set ::Slim::ExParser::gParseContext $oldContext } } namespace eval ::Slim::ExParser::graphState { proc zoom zoomValue { $::Slim::ExParser::gParseContext SetZoom $zoomValue } proc offset {x y} { $::Slim::ExParser::gParseContext SetOffset $x $y } proc node {id x y} { $::Slim::ExParser::gParseContext SetNode $id $x $y } } namespace eval ::Slim::ExParser::function { eval $::Slim::ExParser::appearanceProcs eval $::Slim::ExParser::createPropertyProcs proc drawmode m { $::Slim::ExParser::gParseContext SetDrawMode $m } proc master m { $::Slim::ExParser::gParseContext SetMaster $m } proc mastermtime t { # as of 6.5, this is replaced by the "modified" tag (below) # to help the conversion, use this as the modification time $::Slim::ExParser::gParseContext SetModificationTime $t } proc modified t { $::Slim::ExParser::gParseContext SetModificationTime $t } proc templatehints {fileref args} { set hints [join $args] $::Slim::ExParser::gParseContext SetTemplateHints $fileref $hints } #functions and instances can be nested in the case of # "collected" networks. proc function {type nm template body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$::Slim::ExParser::gParseContext NewFunction $type $nm $template] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::function $body } set ::Slim::ExParser::gParseContext $oldContext } proc instances h { $::Slim::ExParser::gParseContext SetHasInstances $h } proc instance {type nm master body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$::Slim::ExParser::gParseContext NewInstance $type $nm $master] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::instance $body } set ::Slim::ExParser::gParseContext $oldContext } proc state b { $::Slim::ExParser::gParseContext SetState $b } } namespace eval ::Slim::ExParser::instance { eval $::Slim::ExParser::appearanceProcs eval $::Slim::ExParser::createPropertyProcs proc progenitor p { $::Slim::ExParser::gParseContext SetProgenitor $p } } namespace eval ::Slim::ExParser::template { eval $::Slim::ExParser::appearanceProcs eval $::Slim::ExParser::createPropertyProcs proc RSLSource {type s} { $::Slim::ExParser::gParseContext SetSLSource rsl $type $s } proc RSLInclude filelist { foreach file $filelist { $::Slim::ExParser::gParseContext AddSLDirective rsl include $file } } proc RSLDeclare args { set str [join $args] $::Slim::ExParser::gParseContext AddSLDirective rsl declare $str } proc RSLDefine args { set str [join $args] $::Slim::ExParser::gParseContext AddSLDirective rsl define $str } proc RSLFunction s { switch [$::Slim::ExParser::gParseContext GetType] { surface - displacement - light - volume { error "Invalid context for RSLFunction" } default { $::Slim::ExParser::gParseContext SetSLSource rsl StaticFunction $s } } } proc RSLMain s { switch [$::Slim::ExParser::gParseContext GetType] { visualizer - surface - displacement - light - volume { $::Slim::ExParser::gParseContext SetSLSource rsl DynamicShader $s } default { error "Invalid context for RSLMain" } } } proc adaptor src { $::Slim::ExParser::gParseContext SetAdaptor $src } proc display l { $::Slim::ExParser::gParseContext SetDisplayLevel $l } proc drawmode m { $::Slim::ExParser::gParseContext SetDrawMode $m } } # parsing for a bundle view namespace eval ::Slim::ExParser::bundleview { proc function {name body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewBundleNode function $name] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::bundleview $body } set ::Slim::ExParser::gParseContext $oldContext } proc property {name body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewBundleNode property $name] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::bundleview $body } set ::Slim::ExParser::gParseContext $oldContext } proc collection {name body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext \ [$oldContext NewBundleNode collection $name] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::bundleview $body } set ::Slim::ExParser::gParseContext $oldContext } proc display d { $::Slim::ExParser::gParseContext SetDisplayLevel $d } proc identity id { $::Slim::ExParser::gParseContext SetID $id } proc index i { $::Slim::ExParser::gParseContext SetIndex $i } proc label l { $::Slim::ExParser::gParseContext SetLabel $l } proc state s { $::Slim::ExParser::gParseContext SetState $s } } # this namespace embodies the slim parsing context for collections namespace eval ::Slim::ExParser::collection { eval $::Slim::ExParser::propertyProcs eval $::Slim::ExParser::createPropertyProcs proc customui {vendor nm args} { $::Slim::ExParser::gParseContext SetCustomUI $vendor $nm $args } proc connection id { $::Slim::ExParser::gParseContext SetConnection $id } proc access a { # input, output, gstate $::Slim::ExParser::gParseContext SetAccess $a } proc drawmode m { #all, children $::Slim::ExParser::gParseContext SetDrawMode $m } } namespace eval ::Slim::ExParser::parameter { eval $::Slim::ExParser::propertyProcs eval $::Slim::ExParser::atomicPropertyProcs proc connection id { $::Slim::ExParser::gParseContext SetConnection $id } } namespace eval ::Slim::ExParser::ribattribute { eval $::Slim::ExParser::propertyProcs eval $::Slim::ExParser::atomicPropertyProcs } namespace eval ::Slim::ExParser::tclattribute { eval $::Slim::ExParser::propertyProcs eval $::Slim::ExParser::atomicPropertyProcs } namespace eval ::Slim::ExParser::torattribute { eval $::Slim::ExParser::propertyProcs eval $::Slim::ExParser::atomicPropertyProcs } namespace eval ::Slim::ExParser::slimattribute { eval $::Slim::ExParser::propertyProcs eval $::Slim::ExParser::atomicPropertyProcs } namespace eval ::Slim::ExParser::previewinfo { proc shadingrate r { $::Slim::ExParser::gParseContext SetPreviewShadingRate $r } proc objectsize s { $::Slim::ExParser::gParseContext SetPreviewObjSize $s } proc objectshape s { $::Slim::ExParser::gParseContext SetPreviewPrimitive $s } proc frame f { $::Slim::ExParser::gParseContext SetPreviewFrame $f } } namespace eval ::Slim::ExParser::TOR { proc palette {nm body} { set oldContext $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext [$oldContext NewPalette $nm] if {$::Slim::ExParser::gParseContext != {}} { namespace eval ::Slim::ExParser::palette $body } set ::Slim::ExParser::gParseContext $oldContext } proc palettereference file { set oldContext $::Slim::ExParser::gParseContext slim NewPaletteReference $file set ::Slim::ExParser::gParseContext $oldContext } # add project info here. proc rmanControls body { set old $::Slim::ExParser::gParseContext set ::Slim::ExParser::gParseContext [$old GetRMControls] namespace eval ::Slim::ExParser::rmanControls $body set ::Slim::ExParser::gParseContext $old } } namespace eval ::Slim::ExParser::rmanControls { proc cameraName x { $::Slim::ExParser::gParseContext configure -cameraName $x } proc dspyName x { $::Slim::ExParser::gParseContext configure -dspyName $x } proc dspyServer {x} { $::Slim::ExParser::gParseContext configure -dspyServer $x } proc dspyServerMode x { $::Slim::ExParser::gParseContext configure -dspyServerMode $x } proc dspyUnique x { $::Slim::ExParser::gParseContext configure -dspyUnique $x } proc dspyFormat {x y pixelratio} { $::Slim::ExParser::gParseContext configure \ -dspyFormatX $x -dspyFormatY $y \ -dspyPixelRatio $pixelratio } proc dspyFormatX x { $::Slim::ExParser::gParseContext configure -dspyFormatX $x } proc dspyFormatY x { $::Slim::ExParser::gParseContext configure -dspyFormatY $x } proc dspyPixelRatio x { $::Slim::ExParser::gParseContext configure -dspyPixelRatio $x } proc dspyQuantize {mode one min max dither} { $::Slim::ExParser::gParseContext configure \ -dspyQuantizeMode $mode \ -dspyQuantizeOne $one \ -dspyQuantizeMin $min \ -dspyQuantizeMax $max \ -dspyQuantizeDither $dither } proc dspyQuantizeMode x { $::Slim::ExParser::gParseContext configure \ -dspyQuantizeMode $x \ } proc dspyQuantizeOne x { $::Slim::ExParser::gParseContext configure \ -dspyQuantizeOne $x } proc dspyQuantizeMin x { $::Slim::ExParser::gParseContext configure \ -dspyQuantizeMin $x } proc dspyQuantizeMax x { $::Slim::ExParser::gParseContext configure \ -dspyQuantizeMax $x } proc dspyQuantizeDither x { $::Slim::ExParser::gParseContext configure \ -dspyQuantizeDither $x } proc dspyExposure {gain gamma} { $::Slim::ExParser::gParseContext configure \ -dspyGain $gain \ -dspyGamma $gamma } proc dspyGain x { $::Slim::ExParser::gParseContext configure -dspyGain $x } proc dspyGamma x { $::Slim::ExParser::gParseContext configure -dspyGamma $x } proc dspyBucket x { $::Slim::ExParser::gParseContext configure \ -dspyBucket $x } proc dspyGrid x { $::Slim::ExParser::gParseContext configure \ -dspyGrid $x } proc shadingRate x { $::Slim::ExParser::gParseContext configure \ -shadingRate $x } proc shadingInterp x { $::Slim::ExParser::gParseContext configure \ -shadingInterp $x } proc pixelSamples {x y} { $::Slim::ExParser::gParseContext configure \ -pixelSamplesX $x \ -pixelSamplesY $y } proc pixelSamplesX x { $::Slim::ExParser::gParseContext configure \ -pixelSamplesX $x } proc pixelSamplesY x { $::Slim::ExParser::gParseContext configure \ -pixelSamplesY $x } proc pixelFilter {n} { $::Slim::ExParser::gParseContext configure \ -pixelFilter $n } proc pixelFilterX x { $::Slim::ExParser::gParseContext configure \ -pixelFilterX $x } proc pixelFilterY x { $::Slim::ExParser::gParseContext configure \ -pixelFilterY $x } proc binaryDice x { $::Slim::ExParser::gParseContext configure \ -binaryDice $x } proc shadowBias x { $::Slim::ExParser::gParseContext configure \ -shadowBias $x } proc eyeSplits x { $::Slim::ExParser::gParseContext configure \ -eyeSplits $x } proc hider x { $::Slim::ExParser::gParseContext configure \ -hider $x } proc jitter x { $::Slim::ExParser::gParseContext configure \ -jitter $x } proc doDOF x { $::Slim::ExParser::gParseContext configure \ -doDOF $x } proc dofUseLookat x { $::Slim::ExParser::gParseContext configure \ -dofUseLookat $x } proc doMotionBlur x { $::Slim::ExParser::gParseContext configure \ -doMotionBlur $x } proc blurCamera x { $::Slim::ExParser::gParseContext configure \ -blurCamera $x } proc blurSubframe x { $::Slim::ExParser::gParseContext configure \ -blurSubframe $x } proc shutterAngle x { $::Slim::ExParser::gParseContext configure \ -shutterAngle $x } proc motionFactor x { $::Slim::ExParser::gParseContext configure \ -motionFactor $x } proc frontPlane x { $::Slim::ExParser::gParseContext configure \ -frontPlane $x } proc backPlane x { $::Slim::ExParser::gParseContext configure \ -backPlane $x } proc pixarTextures x { $::Slim::ExParser::gParseContext configure \ -pixarTextures $x } proc computedMaps x { $::Slim::ExParser::gParseContext configure \ -computedMaps $x } proc lazyCompute x { $::Slim::ExParser::gParseContext configure \ -lazyCompute $x } proc objectsOnly x { $::Slim::ExParser::gParseContext configure \ -objectsOnly $x } proc lightsOnly x { $::Slim::ExParser::gParseContext configure \ -lightsOnly $x } proc selectedSet x { $::Slim::ExParser::gParseContext configure \ -selectedSet $x } proc doCrop x { $::Slim::ExParser::gParseContext configure \ -doCrop $x } proc cropXMin x { $::Slim::ExParser::gParseContext configure \ -cropXMin $x } proc cropXMax x { $::Slim::ExParser::gParseContext configure \ -cropXMax $x } proc cropYMin x { $::Slim::ExParser::gParseContext configure \ -cropYMin $x } proc cropYMax x { $::Slim::ExParser::gParseContext configure \ -cropYMax $x } proc cropWindow {x1 y1 x2 y2} { $::Slim::ExParser::gParseContext configure \ -cropXMin $x1 -cropYMin $y1 \ -cropXMax $x2 -cropYMax $y2 } proc projectDir x { $::Slim::ExParser::gParseContext configure \ -projectDir $x } proc serverProjectDir x { $::Slim::ExParser::gParseContext configure \ -serverProjectDir $x } proc searchPaths x { $::Slim::ExParser::gParseContext configure \ -searchPaths $x } proc serverSearchPaths x { $::Slim::ExParser::gParseContext configure \ -serverSearchPaths $x } proc projectSubdir {which where} { $::Slim::ExParser::gParseContext configure \ -$which $where } proc doAnim x { $::Slim::ExParser::gParseContext configure \ -doAnim $x } proc startFrame x { $::Slim::ExParser::gParseContext configure \ -startFrame $x } proc endFrame x { $::Slim::ExParser::gParseContext configure \ -endFrame $x } proc byFrame x { $::Slim::ExParser::gParseContext configure \ -byFrame $x } proc frameOrder x { $::Slim::ExParser::gParseContext configure \ -frameOrder $x } proc fps x { $::Slim::ExParser::gParseContext configure \ -fps $x } proc sequenceStartFrame x { $::Slim::ExParser::gParseContext configure \ -sequenceStartFrame $x } proc sequenceEndFrame x { $::Slim::ExParser::gParseContext configure \ -sequenceEndFrame $x } proc referenceFrame x { $::Slim::ExParser::gParseContext configure \ -referenceFrame $x } proc alfPause x { $::Slim::ExParser::gParseContext configure \ -alfPause $x } proc alfSvc x { $::Slim::ExParser::gParseContext configure \ -alfSvc $x } proc alfTag x { $::Slim::ExParser::gParseContext configure \ -alfTag $x } proc alfMin x { $::Slim::ExParser::gParseContext configure \ -alfMin $x } proc alfMax x { $::Slim::ExParser::gParseContext configure \ -alfMax $x } proc jobChunkSize x { $::Slim::ExParser::gParseContext configure \ -jobChunkSize $x } proc jobDist x { $::Slim::ExParser::gParseContext configure \ -jobDist $x } proc jobDistAssets x { $::Slim::ExParser::gParseContext configure \ -jobDistAssets $x } proc RIBGen x { $::Slim::ExParser::gParseContext configure \ -RIBGen $x } proc RIBFormat x { $::Slim::ExParser::gParseContext configure \ -RIBFormat $x } proc RIBStyle x { $::Slim::ExParser::gParseContext configure \ -RIBStyle $x } proc computeLocation x { $::Slim::ExParser::gParseContext configure \ -computeLocation $x } proc renderer x { $::Slim::ExParser::gParseContext configure \ -renderer $x } proc imager x { $::Slim::ExParser::gParseContext configure \ -imager $x } proc jobCleanup x { $::Slim::ExParser::gParseContext configure \ -jobCleanup $x } proc customRenderer x { $::Slim::ExParser::gParseContext configure \ -customRenderer $x } proc customRenderSvc x { $::Slim::ExParser::gParseContext configure \ -customRenderSvc $x } proc customRenderTag x { $::Slim::ExParser::gParseContext configure \ -customRenderTag $x } proc customImager x { $::Slim::ExParser::gParseContext configure \ -customImager $x } proc customImageSvc x { $::Slim::ExParser::gParseContext configure \ -customImageSvc $x } proc customImageTag x { $::Slim::ExParser::gParseContext configure \ -customImageTag $x } proc rib x { $::Slim::ExParser::gParseContext configure \ -rib $x } proc rmanenv x { $::Slim::ExParser::gParseContext configure \ -rmanenv $x } proc rmanpix x { $::Slim::ExParser::gParseContext configure \ -rmanpix $x } proc rmanshd x { $::Slim::ExParser::gParseContext configure \ -rmanshd $x } proc rmansl x { $::Slim::ExParser::gParseContext configure \ -rmansl $x } proc rmanslo x { $::Slim::ExParser::gParseContext configure \ -rmanslo $x } proc rmantex x { $::Slim::ExParser::gParseContext configure \ -rmantex $x } proc rmantmp x { $::Slim::ExParser::gParseContext configure \ -rmantmp $x } proc rmantor x { $::Slim::ExParser::gParseContext configure \ -rmantor $x } }