// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // // // Creation Date: April, 1997 // // Description: // This script contains code to set the values for the layout // controls for the given command selected from the Dynamics // menu. The values are obtained from the option vars. // Also do any enabling/disabling needed as a result of these // settings. // // Input Arguments to dynCreateLayout(): // int $theCmd -- the command for which the layout is being created // string $parent -- the layout parent // int $setFactorySettings -- whether to set the default values. // // global proc dynSetOptionControls(string $theCmd, string $parent, int $setFactorySettings) { string $procName = ("set"+$theCmd+"Controls"); eval ($procName+" "+$parent+" "+$setFactorySettings); } proc setVolumeFieldOptionControls( string $parent, string $field ) { optionMenuGrp -e -sl `optionVar -query ($field+"VolumeFieldTypesOM")` ($field+"VolumeFieldTypesOM"); // The volume exclusion attribute does not apply // to the volume axis field. // if ($field != "volumeAxis") { checkBoxGrp -e -v1 `optionVar -query ($field+"VolumeExclusion")` ($field+"VolumeExclusion"); } floatSliderGrp -e -v `optionVar -query ($field+"VolumeOffsetX")` ($field+"VolumeOffsetX"); floatSliderGrp -e -v `optionVar -query ($field+"VolumeOffsetY")` ($field+"VolumeOffsetY"); floatSliderGrp -e -v `optionVar -query ($field+"VolumeOffsetZ")` ($field+"VolumeOffsetZ"); floatSliderGrp -e -v `optionVar -query ($field+"VolumeSweep")` ($field+"VolumeSweep"); floatSliderGrp -e -v `optionVar -query ($field+"TorusSectionRadius")` ($field+"TorusSectionRadius"); dynVolumeFieldShapeOptionChoice( $parent, $field ); } global proc setAirControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Air", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query airName` airName; floatSliderGrp -e -v `optionVar -query airMagnitude` airMagnitude; floatSliderGrp -e -v `optionVar -query airAttenuation` airAttenuation; floatSliderGrp -e -v `optionVar -query airDirectionX` airDirectionX; floatSliderGrp -e -v `optionVar -query airDirectionY` airDirectionY; floatSliderGrp -e -v `optionVar -query airDirectionZ` airDirectionZ; floatSliderGrp -e -v `optionVar -query airSpeed` airSpeed; floatSliderGrp -e -v `optionVar -query airInheritVelocity` airInheritVelocity; checkBoxGrp -e -v1 `optionVar -query airInheritRotation` airInheritRotation; checkBoxGrp -e -v1 `optionVar -query airComponent` airComponent; //checkBoxGrp -e // -v1 `optionVar -query airPerVertex` // airPerVertex; checkBoxGrp -e -v1 `optionVar -query airEnableSpread` airEnableSpread; floatSliderGrp -e -v `optionVar -query airSpread` airSpread; if (`optionVar -q airEnableSpread`) floatSliderGrp -e -enable true airSpread; else floatSliderGrp -e -enable false airSpread; checkBoxGrp -e -v1 `optionVar -query airMaxDistCBox` airMaxDistCBox; floatSliderGrp -e -v `optionVar -query airMaxDistance` airMaxDistance; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q airMaxDistCBox` airMaxDistance; setVolumeFieldOptionControls( $parent, "air" ); } global proc setDragControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Drag", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query dragName` dragName; floatSliderGrp -e -v `optionVar -query dragMagnitude` dragMagnitude; floatSliderGrp -e -v `optionVar -query dragAttenuation` dragAttenuation; floatSliderGrp -e -v `optionVar -query dragDirectionX` dragDirectionX; floatSliderGrp -e -v `optionVar -query dragDirectionY` dragDirectionY; floatSliderGrp -e -v `optionVar -query dragDirectionZ` dragDirectionZ; checkBoxGrp -e -v1 `optionVar -query dragUseDirection` dragUseDirection; //checkBoxGrp -e // -v1 `optionVar -query dragPerVertex` checkBoxGrp -e -v1 `optionVar -query dragMaxDistCBox` dragMaxDistCBox; floatSliderGrp -e -v `optionVar -query dragMaxDistance` dragMaxDistance; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q dragMaxDistCBox` dragMaxDistance; setVolumeFieldOptionControls( $parent, "drag" ); } global proc setGravityControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Gravity", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query gravityName` gravityName; floatSliderGrp -e -v `optionVar -query gravityMagnitude` gravityMagnitude; floatSliderGrp -e -v `optionVar -query gravityAttenuation` gravityAttenuation; floatSliderGrp -e -v `optionVar -query gravityDirectionX` gravityDirectionX; floatSliderGrp -e -v `optionVar -query gravityDirectionY` gravityDirectionY; floatSliderGrp -e -v `optionVar -query gravityDirectionZ` gravityDirectionZ; //checkBoxGrp -e // -v1 `optionVar -query gravityPerVertex` // gravityPerVertex; checkBoxGrp -e -v1 `optionVar -query gravityMaxDistCBox` gravityMaxDistCBox; floatSliderGrp -e -v `optionVar -query gravityMaxDistance` gravityMaxDistance; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q gravityMaxDistCBox` gravityMaxDistance; setVolumeFieldOptionControls( $parent, "gravity" ); } global proc setNewtonControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Newton", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query newtonName` newtonName; floatSliderGrp -e -v `optionVar -query newtonMagnitude` newtonMagnitude; floatSliderGrp -e -v `optionVar -query newtonAttenuation` newtonAttenuation; floatSliderGrp -e -v `optionVar -query newtonMinDistance` newtonMinDistance; //checkBoxGrp -e // -v1 `optionVar -query newtonPerVertex` // newtonPerVertex; checkBoxGrp -e -v1 `optionVar -query newtonMaxDistCBox` newtonMaxDistCBox; floatSliderGrp -e -v `optionVar -query newtonMaxDistance` newtonMaxDistance; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q newtonMaxDistCBox` newtonMaxDistance; setVolumeFieldOptionControls( $parent, "newton" ); } global proc setRadialControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Radial", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query radialName` radialName; floatSliderGrp -e -v `optionVar -query radialMagnitude` radialMagnitude; floatSliderGrp -e -v `optionVar -query radialAttenuation` radialAttenuation; floatSliderGrp -e -v `optionVar -query radialType` radialType; //checkBoxGrp -e // -v1 `optionVar -query radialPerVertex` // radialPerVertex; checkBoxGrp -e -v1 `optionVar -query radialMaxDistCBox` radialMaxDistCBox; floatSliderGrp -e -v `optionVar -query radialMaxDistance` radialMaxDistance; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q radialMaxDistCBox` radialMaxDistance; setVolumeFieldOptionControls( $parent, "radial" ); } global proc setTurbulenceControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Turbulence", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query turbulenceName` turbulenceName; floatSliderGrp -e -v `optionVar -query turbulenceMagnitude` turbulenceMagnitude; floatSliderGrp -e -v `optionVar -query turbulenceAttenuation` turbulenceAttenuation; floatSliderGrp -e -v `optionVar -query turbulenceFrequency` turbulenceFrequency; floatSliderGrp -e -v `optionVar -query turbulencePhaseX` turbulencePhaseX; floatSliderGrp -e -v `optionVar -query turbulencePhaseY` turbulencePhaseY; floatSliderGrp -e -v `optionVar -query turbulencePhaseZ` turbulencePhaseZ; intSliderGrp -e -v `optionVar -query turbulenceNoiseLevel` turbulenceNoiseLevel; floatSliderGrp -e -v `optionVar -query turbulenceNoiseRatio` turbulenceNoiseRatio; checkBoxGrp -e -v1 `optionVar -query turbulenceMaxDistCBox` turbulenceMaxDistCBox; floatSliderGrp -e -v `optionVar -query turbulenceMaxDistance` turbulenceMaxDistance; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q turbulenceMaxDistCBox` turbulenceMaxDistance; setVolumeFieldOptionControls( $parent, "turbulence" ); } global proc setUniformControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Uniform", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query uniformName` uniformName; floatSliderGrp -e -v `optionVar -query uniformMagnitude` uniformMagnitude; floatSliderGrp -e -v `optionVar -query uniformAttenuation` uniformAttenuation; floatSliderGrp -e -v `optionVar -query uniformDirectionX` uniformDirectionX; floatSliderGrp -e -v `optionVar -query uniformDirectionY` uniformDirectionY; floatSliderGrp -e -v `optionVar -query uniformDirectionZ` uniformDirectionZ; //checkBoxGrp -e // -v1 `optionVar -query uniformPerVertex` // uniformPerVertex; checkBoxGrp -e -v1 `optionVar -query uniformMaxDistCBox` uniformMaxDistCBox; floatSliderGrp -e -v `optionVar -query uniformMaxDistance` uniformMaxDistance; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q uniformMaxDistCBox` uniformMaxDistance; setVolumeFieldOptionControls( $parent, "uniform" ); } global proc setVortexControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Vortex", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query vortexName` vortexName; floatSliderGrp -e -v `optionVar -query vortexMagnitude` vortexMagnitude; floatSliderGrp -e -v `optionVar -query vortexAttenuation` vortexAttenuation; floatSliderGrp -e -v `optionVar -query vortexAxisX` vortexAxisX; floatSliderGrp -e -v `optionVar -query vortexAxisY` vortexAxisY; floatSliderGrp -e -v `optionVar -query vortexAxisZ` vortexAxisZ; //checkBoxGrp -e // -v1 `optionVar -query vortexPerVertex` // vortexPerVertex; checkBoxGrp -e -v1 `optionVar -query vortexMaxDistCBox` vortexMaxDistCBox; floatSliderGrp -e -v `optionVar -query vortexMaxDistance` vortexMaxDistance; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q vortexMaxDistCBox` vortexMaxDistance; setVolumeFieldOptionControls( $parent, "vortex" ); } global proc setVolumeAxisControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "VolumeAxis", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query volumeAxisName` volumeAxisName; floatSliderGrp -e -v `optionVar -query volumeAxisMagnitude` volumeAxisMagnitude; floatSliderGrp -e -v `optionVar -query volumeAxisAttenuation` volumeAxisAttenuation; checkBoxGrp -e -v1 `optionVar -query volumeAxisInvertAttenuation` volumeAxisInvertAttenuation; checkBoxGrp -e -v1 `optionVar -query volumeAxisMaxDistCBox` volumeAxisMaxDistCBox; floatSliderGrp -e -v `optionVar -query volumeAxisMaxDistance` volumeAxisMaxDistance; floatSliderGrp -e -v `optionVar -query volumeAxisAwayFromCenter` volumeAxisAwayFromCenter; floatSliderGrp -e -v `optionVar -query volumeAxisAwayFromAxis` volumeAxisAwayFromAxis; floatSliderGrp -e -v `optionVar -query volumeAxisAlongAxis` volumeAxisAlongAxis; floatSliderGrp -e -v `optionVar -query volumeAxisAroundAxis` volumeAxisAroundAxis; //floatSliderGrp -e // -v `optionVar -query volumeAxisRandomSpread` // volumeAxisRandomSpread; floatSliderGrp -e -v `optionVar -query volumeAxisDirectionalSpeed` volumeAxisDirectionalSpeed; floatSliderGrp -e -v `optionVar -query volumeAxisDirectionX` volumeAxisDirectionX; floatSliderGrp -e -v `optionVar -query volumeAxisDirectionY` volumeAxisDirectionY; floatSliderGrp -e -v `optionVar -query volumeAxisDirectionZ` volumeAxisDirectionZ; floatSliderGrp -e -v `optionVar -query volumeAxisTurbulence` volumeAxisTurbulence; floatSliderGrp -e -v `optionVar -query volumeAxisTurbulenceSpeed` volumeAxisTurbulenceSpeed; floatSliderGrp -e -v `optionVar -query volumeAxisTurbulenceFrequencyX` volumeAxisTurbulenceFrequencyX; floatSliderGrp -e -v `optionVar -query volumeAxisTurbulenceFrequencyY` volumeAxisTurbulenceFrequencyY; floatSliderGrp -e -v `optionVar -query volumeAxisTurbulenceFrequencyZ` volumeAxisTurbulenceFrequencyZ; floatSliderGrp -e -v `optionVar -query volumeAxisTurbulenceOffsetX` volumeAxisTurbulenceOffsetX; floatSliderGrp -e -v `optionVar -query volumeAxisTurbulenceOffsetY` volumeAxisTurbulenceOffsetY; floatSliderGrp -e -v `optionVar -query volumeAxisTurbulenceOffsetZ` volumeAxisTurbulenceOffsetZ; floatSliderGrp -e -v `optionVar -query volumeAxisDetailTurbulence` volumeAxisDetailTurbulence; // Enable/disable the Max Distance float slider floatSliderGrp -e -enable `optionVar -q volumeAxisMaxDistCBox` volumeAxisMaxDistance; setVolumeFieldOptionControls( $parent, "volumeAxis" ); } global proc setEmitterControls (string $parent, int $setFactorySettings) { global int $gDynIsCreate; // Retrieve the option settings // dynSetOptionVars( "Emitter", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query emitterName` emitterName; // If we are creating, then option var value of 5 (volume) should be set // to the control as 3. // int $emitterType = `optionVar -query emitterTypesOM`; if ($gDynIsCreate && ($emitterType == 5)) $emitterType = 3; optionMenuGrp -e -sl $emitterType emitterTypesOM; floatSliderGrp -e -v `optionVar -query emitterRate` emitterRate; checkBoxGrp -e -v1 `optionVar -query emitterScaleRateByObjectSize` emitterScaleRateByObjectSize; checkBoxGrp -e -v1 `optionVar -query emitterNeedParentUV` emitterNeedParentUV; optionMenuGrp -e -sl `optionVar -query emitterCycleOM` emitterCycleOM; int $enabled = 0; if (`optionVar -query emitterCycleOM` > 1) $enabled = 1; intSliderGrp -e -enable $enabled -v `optionVar -query emitterCycleInterval` emitterCycleInterval; floatSliderGrp -e -v `optionVar -query emitterMaxDistance` emitterMaxDistance; floatSliderGrp -e -v `optionVar -query emitterMinDistance` emitterMinDistance; floatSliderGrp -e -v `optionVar -query emitterDirectionX` emitterDirectionX; floatSliderGrp -e -v `optionVar -query emitterDirectionY` emitterDirectionY; floatSliderGrp -e -v `optionVar -query emitterDirectionZ` emitterDirectionZ; floatSliderGrp -e -v `optionVar -query emitterSpread` emitterSpread; floatSliderGrp -e -v `optionVar -query emitterSpeed` emitterSpeed; floatSliderGrp -e -v `optionVar -query emitterSpeedRandomRange` emitterSpeedRandomRange; floatSliderGrp -e -v `optionVar -query emitterNormalSpeed` emitterNormalSpeed; floatSliderGrp -e -v `optionVar -query emitterTangentSpeed` emitterTangentSpeed; optionMenuGrp -e -sl `optionVar -query emitterVolumeShapeOM` emitterVolumeShapeOM; floatSliderGrp -e -v `optionVar -query emitterVolumeOffsetX` emitterVolumeOffsetX; floatSliderGrp -e -v `optionVar -query emitterVolumeOffsetY` emitterVolumeOffsetY; floatSliderGrp -e -v `optionVar -query emitterVolumeOffsetZ` emitterVolumeOffsetZ; floatSliderGrp -e -v `optionVar -query emitterVolumeSweep` emitterVolumeSweep; floatSliderGrp -e -v `optionVar -query emitterTorusSectionRadius` emitterTorusSectionRadius; floatSliderGrp -e -v `optionVar -query emitterAwayFromCenter` emitterAwayFromCenter; floatSliderGrp -e -v `optionVar -query emitterAwayFromAxis` emitterAwayFromAxis; floatSliderGrp -e -v `optionVar -query emitterAlongAxis` emitterAlongAxis; floatSliderGrp -e -v `optionVar -query emitterAroundAxis` emitterAroundAxis; floatSliderGrp -e -v `optionVar -query emitterRandomSpread` emitterRandomSpread; floatSliderGrp -e -v `optionVar -query emitterDirectionalSpeed` emitterDirectionalSpeed; checkBoxGrp -e -v1 `optionVar -query emitterScaleSpeedBySize` emitterScaleSpeedBySize; checkBoxGrp -e -v1 `optionVar -query emitterDieOnExit` emitterDieOnExit; dynEmitterOptionChoice( $parent ); dynEmitterCycleOptionChoice( $parent ); } global proc setnEmitterControls (string $parent, int $setFactorySettings) { setEmitterControls($parent, $setFactorySettings); } global proc setCollisionControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Collision", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // floatSliderGrp -e -v `optionVar -query collisionResilience` collisionResilience; floatSliderGrp -e -v `optionVar -query collisionFriction` collisionFriction; floatSliderGrp -e -v `optionVar -query collisionOffset` collisionOffset; } global proc setGoalControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Goal", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // floatSliderGrp -e -v `optionVar -query goalWeight` goalWeight; checkBoxGrp -e -v1 `optionVar -query goalUseTransform` goalUseTransform; } global proc setRigidControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Rigid", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query rigidName` rigidName; checkBoxGrp -e -v1 `optionVar -query rigidCollisionType` -v2 `optionVar -query rigidCollide` rigidActiveCollision; floatSliderGrp -e -v `optionVar -query rigidMass` rigidMass; checkBoxGrp -e -v1 `optionVar -query rigidComCBox` rigidComCBox; floatSliderGrp -e -v `optionVar -query rigidComX` rigidComX; floatSliderGrp -e -v `optionVar -query rigidComY` rigidComY; floatSliderGrp -e -v `optionVar -query rigidComZ` rigidComZ; if (`optionVar -q rigidComCBox`) { floatSliderGrp -e -enable true rigidComX; floatSliderGrp -e -enable true rigidComY; floatSliderGrp -e -enable true rigidComZ; } else { floatSliderGrp -e -enable false rigidComX; floatSliderGrp -e -enable false rigidComY; floatSliderGrp -e -enable false rigidComZ; } floatSliderGrp -e -v `optionVar -query rigidStatFriction` rigidStatFriction; floatSliderGrp -e -v `optionVar -query rigidDynFriction` rigidDynFriction; floatSliderGrp -e -v `optionVar -query rigidBounciness` rigidBounciness; floatSliderGrp -e -v `optionVar -query rigidDamping` rigidDamping; floatSliderGrp -e -v `optionVar -query rigidImpulseX` rigidImpulseX; floatSliderGrp -e -v `optionVar -query rigidImpulseY` rigidImpulseY; floatSliderGrp -e -v `optionVar -query rigidImpulseZ` rigidImpulseZ; floatSliderGrp -e -v `optionVar -query rigidImpulsePosX` rigidImpulsePosX; floatSliderGrp -e -v `optionVar -query rigidImpulsePosY` rigidImpulsePosY; floatSliderGrp -e -v `optionVar -query rigidImpulsePosZ` rigidImpulsePosZ; floatSliderGrp -e -v `optionVar -query rigidSpinImpulseX` rigidSpinImpulseX; floatSliderGrp -e -v `optionVar -query rigidSpinImpulseY` rigidImpulsePosY; floatSliderGrp -e -v `optionVar -query rigidSpinImpulseZ` rigidImpulsePosZ; floatSliderGrp -e -v `optionVar -query rigidAngVelocityX` rigidAngVelocityX; floatSliderGrp -e -v `optionVar -query rigidAngVelocityY` rigidAngVelocityY; floatSliderGrp -e -v `optionVar -query rigidAngVelocityZ` rigidAngVelocityZ; checkBoxGrp -e -v1 `optionVar -query rigidPosCBox` rigidPosCBox; floatSliderGrp -e -v `optionVar -query rigidPosX` rigidPosX; floatSliderGrp -e -v `optionVar -query rigidPosY` rigidPosY; floatSliderGrp -e -v `optionVar -query rigidPosZ` rigidPosZ; if (`optionVar -q rigidPosCBox`) { floatSliderGrp -e -enable true rigidPosX; floatSliderGrp -e -enable true rigidPosY; floatSliderGrp -e -enable true rigidPosZ; } else { floatSliderGrp -e -enable false rigidPosX; floatSliderGrp -e -enable false rigidPosY; floatSliderGrp -e -enable false rigidPosZ; } checkBoxGrp -e -v1 `optionVar -query rigidOrCBox` rigidOrCBox; floatSliderGrp -e -v `optionVar -query rigidOrX` rigidOrX; floatSliderGrp -e -v `optionVar -query rigidOrY` rigidOrY; floatSliderGrp -e -v `optionVar -query rigidOrZ` rigidOrZ; if (`optionVar -q rigidOrCBox`) { floatSliderGrp -e -enable true rigidOrX; floatSliderGrp -e -enable true rigidOrY; floatSliderGrp -e -enable true rigidOrZ; } else { floatSliderGrp -e -enable false rigidOrX; floatSliderGrp -e -enable false rigidOrY; floatSliderGrp -e -enable false rigidOrZ; } floatSliderGrp -e -v `optionVar -query rigidInitVelocityX` rigidInitVelocityX; floatSliderGrp -e -v `optionVar -query rigidInitVelocityY` rigidInitVelocityY; floatSliderGrp -e -v `optionVar -query rigidInitVelocityZ` rigidInitVelocityZ; optionMenuGrp -e -sl `optionVar -query rigidStandInType` rigidStandInType; intFieldGrp -e -v1 `optionVar -query rigidTesselation` rigidTesselation; intFieldGrp -e -v1 `optionVar -query rigidLayer` rigidLayer; checkBoxGrp -e -v1 `optionVar -query rigidCacheCBox` rigidCacheCBox; } global proc setSoftControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Soft", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // optionMenuGrp -e -sl `optionVar -query softCreationOption` softCreationOption; checkBoxGrp -e -v1 `optionVar -query softGoal` softGoal; checkBoxGrp -e -v1 `optionVar -query softHide` softHide; checkBoxGrp -e -v1 `optionVar -query softHistory` softHistory; floatSliderGrp -e -v `optionVar -query softWeight` softWeight; if (`optionVar -q softGoal`) floatSliderGrp -e -enable true softWeight; else floatSliderGrp -e -enable false softWeight; softCBoxCB(); } global proc setNSoftControls (string $parent, int $setFactorySettings) { setSoftControls ($parent, $setFactorySettings); } global proc setConstrainControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Constrain", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query constrainName` constrainName; optionMenuGrp -e -sl `optionVar -query constrainTypesOM` constrainTypesOM; checkBoxGrp -e -v1 `optionVar -query constrainInterCB` constrainInterCB; checkBoxGrp -e -v1 `optionVar -query constrainPosCBox` constrainPosCBox; floatSliderGrp -e -v `optionVar -query constrainPosX` constrainPosX; floatSliderGrp -e -v `optionVar -query constrainPosY` constrainPosY; floatSliderGrp -e -v `optionVar -query constrainPosZ` constrainPosZ; if (`optionVar -q constrainPosCBox`) { floatSliderGrp -e -enable true constrainPosX; floatSliderGrp -e -enable true constrainPosY; floatSliderGrp -e -enable true constrainPosZ; } else { floatSliderGrp -e -enable false constrainPosX; floatSliderGrp -e -enable false constrainPosY; floatSliderGrp -e -enable false constrainPosZ; } floatSliderGrp -e -v `optionVar -query constrainOrientX` constrainOrientX; floatSliderGrp -e -v `optionVar -query constrainOrientY` constrainOrientY; floatSliderGrp -e -v `optionVar -query constrainOrientZ` constrainOrientZ; if ((`optionVar -query constrainTypesOM` == 3) || (`optionVar -query constrainTypesOM` == 5) ) { floatSliderGrp -e -enable true constrainOrientX; floatSliderGrp -e -enable true constrainOrientY; floatSliderGrp -e -enable true constrainOrientZ; } else { floatSliderGrp -e -enable false constrainOrientX; floatSliderGrp -e -enable false constrainOrientY; floatSliderGrp -e -enable false constrainOrientZ; } floatSliderGrp -e -v `optionVar -query constrainSpringStiffness` constrainSpringStiffness; floatSliderGrp -e -v `optionVar -query constrainSpringDamping` constrainSpringDamping; checkBoxGrp -e -v1 `optionVar -query constrainSpringRestLengthCBox` constrainSpringRestLengthCBox; floatSliderGrp -e -v `optionVar -query constrainSpringRestLength` constrainSpringRestLength; if (`optionVar -q constrainSpringRestLengthCBox`) floatSliderGrp -e -enable true constrainSpringRestLength; else floatSliderGrp -e -enable false constrainSpringRestLength; dynConstraintTypeCB; } global proc setSpringControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "Spring", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query springName` springName; checkBoxGrp -e -v1 `optionVar -query springAdd` springAdd; checkBoxGrp -e -v1 `optionVar -query springNoDuplicate` springNoDuplicate; checkBoxGrp -e -v1 `optionVar -query springExclusive` springExclusive; optionMenuGrp -e -sl `optionVar -query springMethodsOM` springMethodsOM; floatSliderGrp -e -v `optionVar -query springMinDistance` springMinDistance; floatSliderGrp -e -v `optionVar -query springMaxDistance` springMaxDistance; intFieldGrp -e -v1 `optionVar -query springWireWalkLength` springWireWalkLength; if (`optionVar -query springMinMaxCBox`) { floatSliderGrp -e -enable true springMinDistance; floatSliderGrp -e -enable true springMaxDistance; } else { floatSliderGrp -e -enable false springMinDistance; floatSliderGrp -e -enable false springMaxDistance; } checkBoxGrp -e -v1 `optionVar -query springUseStiffnessPS` springUseStiffnessPS; checkBoxGrp -e -v1 `optionVar -query springUseDampingPS` springUseDampingPS; checkBoxGrp -e -v1 `optionVar -query springUseRestLengthPS` springUseRestLengthPS; floatSliderGrp -e -v `optionVar -query springStiffness` springStiffness; floatSliderGrp -e -v `optionVar -query springDamp` springDamp; floatSliderGrp -e -v `optionVar -query springRestLength` springRestLength; floatSliderGrp -e -v `optionVar -query springStartForceWeight` springStartForceWeight; floatSliderGrp -e -v `optionVar -query springEndForceWeight` springEndForceWeight; dynSpringOptionChoiceCB($parent); if ( `optionVar -query springUseRestLengthPS`) springUseRestLengthPSCB(1); else springUseRestLengthPSCB(0); if ( `optionVar -query springUseStiffnessPS`) springUseStiffnessPSCB(1); else springUseStiffnessPSCB(0); if ( `optionVar -query springUseDampingPS`) springUseDampingPSCB(1); else springUseDampingPSCB(0); if (`optionVar -query springAdd`) springAddCB(1); else springAddCB(0); } global proc setParticleInstancerControls (string $parent, int $setFactorySettings) { // Retrieve the option settings // dynSetOptionVars( "ParticleInstancer", $setFactorySettings ); setParent $parent; // Query the optionVar's and set the values into the controls // textFieldGrp -e -text `optionVar -query particleInstancerName` particleInstancerName; optionMenuGrp -e -v `optionVar -query PIautoCycleOM` PIautoCycleOM; floatSliderGrp -e -v `optionVar -query PIautoCycleStepSize` PIautoCycleStepSize; optionMenuGrp -e -v `optionVar -query PIautoCycleStepUnitsOM` PIautoCycleStepUnitsOM; optionMenuGrp -e -v `optionVar -query PIlevelOfDetailOM` PIlevelOfDetailOM; optionMenuGrp -e -v `optionVar -query PIrotationUnitsOM` PIrotationUnitsOM; optionMenuGrp -e -v `optionVar -query PIrotationOrderOM` PIrotationOrderOM; checkBoxGrp -e -v1 `optionVar -query PIdisplayAllTypes` PIdisplayAllTypes; textScrollList -e -deselectAll PIselectObjectList; setAllDynamicAttributeOptionMenuGrp(); PIwatchCycleOption(); } global proc setDynamicAttributeOptionMenuGrp( string $attributeName ) { string $itemName; string $omName = $attributeName + "OM"; if ( `optionMenuGrp -exists $omName` == 1 ) { string $value = `optionVar -query $omName`; string $list[] = `optionMenuGrp -q -itemListShort $omName`; int $found = 0; for ( $i = 0; $i < size( $list ); $i++ ) { $itemName = `menuItem -q -l $list[ $i ]`; if ( $itemName == $value ) { $found = 1; break; } } if ( $found == 1 ) { optionMenuGrp -e -value $value $omName; } } } global proc setAllDynamicAttributeOptionMenuGrp() { setDynamicAttributeOptionMenuGrp( "Position" ); setDynamicAttributeOptionMenuGrp( "Rotation" ); setDynamicAttributeOptionMenuGrp( "AimDirection" ); setDynamicAttributeOptionMenuGrp( "AimPosition" ); setDynamicAttributeOptionMenuGrp( "AimAxis" ); setDynamicAttributeOptionMenuGrp( "AimUpAxis" ); setDynamicAttributeOptionMenuGrp( "AimWorldUp" ); setDynamicAttributeOptionMenuGrp( "Scale" ); setDynamicAttributeOptionMenuGrp( "Shear" ); setDynamicAttributeOptionMenuGrp( "RotationType" ); setDynamicAttributeOptionMenuGrp( "ObjectIndex" ); setDynamicAttributeOptionMenuGrp( "Visibility" ); setDynamicAttributeOptionMenuGrp( "CycleStartObject" ); // // I have commented this one out so that the command // ALWAYS defaults to having "age" used for the "Age" // option. // // setDynamicAttributeOptionMenuGrp( "Age" ); } global proc setParticleRenderCacheControls (string $parent, int $setFactorySettings) { setParent $parent; // Get path setting. Read from dynGlobals path attribute. // If that attribute is empty, use the name of the current scene. // Exception: if we are asked to reset factory defaults, // then do not look at dyn globals. The factory default is // the scene name. // string $path = ""; if (!$setFactorySettings) { // Get the dynGlobals node // string $theGlobal; if (!catch ($theGlobal = `dynGlobals -q -active`)) { $path = `getAttr ($theGlobal + ".cacheDirectory")`; } } if (size($path) == 0) { $path = `file -q -rpr`; } // path controls // textFieldGrp -e -text $path particleRenderCacheDirectory; // Get the 'use render globals' option value // checkBoxGrp -e -v1 `optionVar -query cacheForRenderGlobalsRange` cacheForRenderGlobalsRange; checkBoxGrp -e -v1 `optionVar -query onlyUpdateParticles` onlyUpdateParticles; // radio buttons 1 = selected 2 = all radioButtonGrp -e -select (`optionVar -query cacheAllParticleSystems` + 1) cacheAllParticleSystems; }