// =========================================================================== // 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 the callbacks for the Fluids (Elements?) menus (if // no option box is requested) and the "Apply" (Create/Add) // buttons of the Fluids option boxes. Each callback sets // the option vars from the controls, then calls performFluids() // to execute the command. // // Input Arguments to dynApplyCallback(): // string $theCmd -- the command selected // int $parent -- the parent layout // // IMPORTANT NOTE: dynApplyCallback forms command string for each // individual callback as "applyCallback( string $parent, int $executeCmd )" // where is the command name passed from performFluids and // ultimately from the -c argument of the menuItem -optionBox command in // the menu script. Each separate callback must take the (string, int) // argument pair event if it does not use them. // global proc applyExtendFluidCallback (string $parent, int $executeCmd) // // Description: // Set the optionVar's from the control values, and then perform // the command // { global int $gDynIsCreate; setParent $parent; optionVar -intValue extendFluidRebuildIC `checkBoxGrp -q -v1 extendFluidRebuildIC`; optionVar -intValue extendFluidMinX `intSliderGrp -q -v extendFluidMinX`; optionVar -intValue extendFluidMaxX `intSliderGrp -q -v extendFluidMaxX`; optionVar -intValue extendFluidMinY `intSliderGrp -q -v extendFluidMinY`; optionVar -intValue extendFluidMaxY `intSliderGrp -q -v extendFluidMaxY`; optionVar -intValue extendFluidMinZ `intSliderGrp -q -v extendFluidMinZ`; optionVar -intValue extendFluidMaxZ `intSliderGrp -q -v extendFluidMaxZ`; if ($executeCmd) { performFluids $gDynIsCreate "ExtendFluid" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"ExtendFluid\" 0"; addToRecentCommandQueue $tmpCmd "ExtendFluid"; } } global proc applyResampleFluidCallback (string $parent, int $executeCmd) // // Description: // Set the optionVar's from the control values, and then perform // the command // { global int $gDynIsCreate; setParent $parent; optionVar -intValue resampleFluidRebuildIC `checkBoxGrp -q -v1 resampleFluidRebuildIC`; optionVar -intValue resampleFluidX `intSliderGrp -q -v resampleFluidX`; optionVar -intValue resampleFluidY `intSliderGrp -q -v resampleFluidY`; optionVar -intValue resampleFluidZ `intSliderGrp -q -v resampleFluidZ`; if ($executeCmd) { performFluids $gDynIsCreate "ResampleFluid" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"ResampleFluid\" 0"; addToRecentCommandQueue $tmpCmd "ResampleFluid"; } } global proc applyCreate3DFluidCallback (string $parent, int $executeCmd) // // Description: // Set the optionVar's from the control values, and then perform // the command // { global int $gDynIsCreate; setParent $parent; optionVar -intValue create3DFluidXRes `intSliderGrp -q -v create3DFluidXRes`; optionVar -intValue create3DFluidYRes `intSliderGrp -q -v create3DFluidYRes`; optionVar -intValue create3DFluidZRes `intSliderGrp -q -v create3DFluidZRes`; optionVar -floatValue create3DFluidXSize `floatSliderGrp -q -v create3DFluidXSize`; optionVar -floatValue create3DFluidYSize `floatSliderGrp -q -v create3DFluidYSize`; optionVar -floatValue create3DFluidZSize `floatSliderGrp -q -v create3DFluidZSize`; if ($executeCmd) { performFluids $gDynIsCreate "Create3DFluid" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"Create3DFluid\" 0"; addToRecentCommandQueue $tmpCmd "createFluid"; } } global proc applyCreate2DFluidCallback (string $parent, int $executeCmd) // // Description: // Set the optionVar's from the control values, and then perform // the command // { global int $gDynIsCreate; setParent $parent; optionVar -intValue create2DFluidXRes `intSliderGrp -q -v create2DFluidXRes`; optionVar -intValue create2DFluidYRes `intSliderGrp -q -v create2DFluidYRes`; optionVar -floatValue create2DFluidXSize `floatSliderGrp -q -v create2DFluidXSize`; optionVar -floatValue create2DFluidYSize `floatSliderGrp -q -v create2DFluidYSize`; optionVar -floatValue create2DFluidZSize `floatSliderGrp -q -v create2DFluidZSize`; if ($executeCmd) { performFluids $gDynIsCreate "Create2DFluid" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"Create2DFluid\" 0"; addToRecentCommandQueue $tmpCmd "createFluid"; } } global proc applyMakeCollideFluidCallback (string $parent, int $executeCmd) // // Description: // Set the optionVar's from the control values, and then perform // the command // { global int $gDynIsCreate; setParent $parent; optionVar -intValue tessellationFactor `intSliderGrp -q -v tessellationFactor`; if ($executeCmd) { performFluids $gDynIsCreate "MakeCollideFluid" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"MakeCollideFluid\" 0"; addToRecentCommandQueue $tmpCmd "MakeCollideFluid"; } } global proc applyFluidEmitterCallback (string $parent, int $executeCmd) { global int $gDynIsCreate; setParent $parent; optionVar -stringValue flEmitterName `textFieldGrp -q -text flEmitterName`; optionVar -intValue flEmitterParenting `checkBoxGrp -q -v1 flEmitterParenting`; // In create, emitter type 3 is volume, which we write to option var as 5. // string $flEmitterType = `optionMenuGrp -q -v flEmitterTypeOM`; optionVar -stringValue flEmitterTypeOM $flEmitterType; optionVar -floatValue flEmitterDensityRate `floatSliderGrp -q -v flEmitterDensityRate`; optionVar -floatValue flEmitterHeatRate `floatSliderGrp -q -v flEmitterHeatRate`; optionVar -floatValue flEmitterFuelRate `floatSliderGrp -q -v flEmitterFuelRate`; optionVar -floatValue flEmitterFluidDropoff `floatSliderGrp -q -v flEmitterFluidDropoff`; optionVar -intValue flEmitterCycleOM `optionMenuGrp -q -sl flEmitterCycleOM`; optionVar -intValue flEmitterCycleInterval `intSliderGrp -q -v flEmitterCycleInterval`; optionVar -floatValue flEmitterMaxDistance `floatSliderGrp -q -v flEmitterMaxDistance`; optionVar -floatValue flEmitterMinDistance `floatSliderGrp -q -v flEmitterMinDistance`; optionVar -intValue flEmitterVolumeShapeOM `optionMenuGrp -q -sl flEmitterVolumeShapeOM`; optionVar -floatValue flEmitterVolumeOffsetX `floatSliderGrp -q -v flEmitterVolumeOffsetX`; optionVar -floatValue flEmitterVolumeOffsetY `floatSliderGrp -q -v flEmitterVolumeOffsetY`; optionVar -floatValue flEmitterVolumeOffsetZ `floatSliderGrp -q -v flEmitterVolumeOffsetZ`; optionVar -floatValue flEmitterVolumeSweep `floatSliderGrp -q -v flEmitterVolumeSweep`; optionVar -floatValue flEmitterTorusSectionRadius `floatSliderGrp -q -v flEmitterTorusSectionRadius`; if ( $executeCmd ) { global int $gDynIsCreate; performFluids $gDynIsCreate "FluidEmitter" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"FluidEmitter\" 0"; addToRecentCommandQueue $tmpCmd "FluidEmitter"; } } global proc applyFluidEmitFromObjectCallback (string $parent, int $executeCmd) { global int $gDynIsCreate; setParent $parent; optionVar -stringValue flEmitObjectName `textFieldGrp -q -text flEmitterName`; // In create, emitter type 3 is volume, which we write to option var as 5. // string $flEmitterType = `optionMenuGrp -q -v flEmitterTypeOM`; optionVar -stringValue flEmitObjectTypesOM $flEmitterType; optionVar -floatValue flEmitObjectDensityRate `floatSliderGrp -q -v flEmitterDensityRate`; optionVar -floatValue flEmitObjectHeatRate `floatSliderGrp -q -v flEmitterHeatRate`; optionVar -floatValue flEmitObjectFuelRate `floatSliderGrp -q -v flEmitterFuelRate`; optionVar -floatValue flEmitObjectFluidDropoff `floatSliderGrp -q -v flEmitterFluidDropoff`; optionVar -intValue flEmitObjectCycleOM `optionMenuGrp -q -sl flEmitterCycleOM`; optionVar -intValue flEmitObjectCycleInterval `intSliderGrp -q -v flEmitterCycleInterval`; optionVar -floatValue flEmitObjectMaxDistance `floatSliderGrp -q -v flEmitterMaxDistance`; optionVar -floatValue flEmitObjectMinDistance `floatSliderGrp -q -v flEmitterMinDistance`; if ( $executeCmd ) { global int $gDynIsCreate; performFluids $gDynIsCreate "FluidEmitFromObject" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"FluidEmitFromObject\" 0"; addToRecentCommandQueue $tmpCmd "FluidEmitFromObject"; } } global proc apply3DFluidAndEmitterCallback (string $parent, int $executeCmd) { global int $gDynIsCreate; setParent $parent; optionVar -intValue create3DAddEmitter `checkBoxGrp -q -v1 createAddEmitter`; optionVar -stringValue fl3DEmitterName `textFieldGrp -q -text flEmitterName`; optionVar -intValue fl3DEmitterParenting `checkBoxGrp -q -v1 flEmitterParenting`; optionVar -intValue create3DFluidXRes `intSliderGrp -q -v create3DFluidXRes`; optionVar -intValue create3DFluidYRes `intSliderGrp -q -v create3DFluidYRes`; optionVar -intValue create3DFluidZRes `intSliderGrp -q -v create3DFluidZRes`; optionVar -floatValue create3DFluidXSize `floatSliderGrp -q -v create3DFluidXSize`; optionVar -floatValue create3DFluidYSize `floatSliderGrp -q -v create3DFluidYSize`; optionVar -floatValue create3DFluidZSize `floatSliderGrp -q -v create3DFluidZSize`; // In create, emitter type 3 is volume, which we write to option var as 5. // string $flEmitterType = `optionMenuGrp -q -v flEmitterTypeOM`; optionVar -stringValue fl3DEmitterTypesOM $flEmitterType; optionVar -floatValue fl3DEmitterDensityRate `floatSliderGrp -q -v flEmitterDensityRate`; optionVar -floatValue fl3DEmitterHeatRate `floatSliderGrp -q -v flEmitterHeatRate`; optionVar -floatValue fl3DEmitterFuelRate `floatSliderGrp -q -v flEmitterFuelRate`; optionVar -floatValue fl3DEmitterFluidDropoff `floatSliderGrp -q -v flEmitterFluidDropoff`; optionVar -intValue fl3DEmitterCycleOM `optionMenuGrp -q -sl flEmitterCycleOM`; optionVar -intValue fl3DEmitterCycleInterval `intSliderGrp -q -v flEmitterCycleInterval`; optionVar -floatValue fl3DEmitterMaxDistance `floatSliderGrp -q -v flEmitterMaxDistance`; optionVar -floatValue fl3DEmitterMinDistance `floatSliderGrp -q -v flEmitterMinDistance`; optionVar -intValue fl3DEmitterVolumeShapeOM `optionMenuGrp -q -sl flEmitterVolumeShapeOM`; optionVar -floatValue fl3DEmitterVolumeOffsetX `floatSliderGrp -q -v flEmitterVolumeOffsetX`; optionVar -floatValue fl3DEmitterVolumeOffsetY `floatSliderGrp -q -v flEmitterVolumeOffsetY`; optionVar -floatValue fl3DEmitterVolumeOffsetZ `floatSliderGrp -q -v flEmitterVolumeOffsetZ`; optionVar -floatValue fl3DEmitterVolumeSweep `floatSliderGrp -q -v flEmitterVolumeSweep`; optionVar -floatValue fl3DEmitterTorusSectionRadius `floatSliderGrp -q -v flEmitterTorusSectionRadius`; if ( $executeCmd ) { global int $gDynIsCreate; performFluids $gDynIsCreate "3DFluidAndEmitter" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"3DFluidAndEmitter\" 0"; addToRecentCommandQueue $tmpCmd "3DFluidAndEmitter"; } } global proc apply2DFluidAndEmitterCallback (string $parent, int $executeCmd) { global int $gDynIsCreate; setParent $parent; optionVar -intValue create2DAddEmitter `checkBoxGrp -q -v1 createAddEmitter`; optionVar -stringValue fl2DEmitterName `textFieldGrp -q -text flEmitterName`; optionVar -intValue fl2DEmitterParenting `checkBoxGrp -q -v1 flEmitterParenting`; optionVar -intValue create2DFluidXRes `intSliderGrp -q -v create2DFluidXRes`; optionVar -intValue create2DFluidYRes `intSliderGrp -q -v create2DFluidYRes`; optionVar -floatValue create2DFluidXSize `floatSliderGrp -q -v create2DFluidXSize`; optionVar -floatValue create2DFluidYSize `floatSliderGrp -q -v create2DFluidYSize`; optionVar -floatValue create2DFluidZSize `floatSliderGrp -q -v create2DFluidZSize`; // In create, emitter type 3 is volume, which we write to option var as 5. // string $flEmitterType = `optionMenuGrp -q -v flEmitterTypeOM`; optionVar -stringValue fl2DEmitterTypesOM $flEmitterType; optionVar -floatValue fl2DEmitterDensityRate `floatSliderGrp -q -v flEmitterDensityRate`; optionVar -floatValue fl2DEmitterHeatRate `floatSliderGrp -q -v flEmitterHeatRate`; optionVar -floatValue fl2DEmitterFuelRate `floatSliderGrp -q -v flEmitterFuelRate`; optionVar -floatValue fl2DEmitterFluidDropoff `floatSliderGrp -q -v flEmitterFluidDropoff`; optionVar -intValue fl2DEmitterCycleOM `optionMenuGrp -q -sl flEmitterCycleOM`; optionVar -intValue fl2DEmitterCycleInterval `intSliderGrp -q -v flEmitterCycleInterval`; optionVar -floatValue fl2DEmitterMaxDistance `floatSliderGrp -q -v flEmitterMaxDistance`; optionVar -floatValue fl2DEmitterMinDistance `floatSliderGrp -q -v flEmitterMinDistance`; optionVar -intValue fl2DEmitterVolumeShapeOM `optionMenuGrp -q -sl flEmitterVolumeShapeOM`; optionVar -floatValue fl2DEmitterVolumeOffsetX `floatSliderGrp -q -v flEmitterVolumeOffsetX`; optionVar -floatValue fl2DEmitterVolumeOffsetY `floatSliderGrp -q -v flEmitterVolumeOffsetY`; optionVar -floatValue fl2DEmitterVolumeOffsetZ `floatSliderGrp -q -v flEmitterVolumeOffsetZ`; optionVar -floatValue fl2DEmitterVolumeSweep `floatSliderGrp -q -v flEmitterVolumeSweep`; optionVar -floatValue fl2DEmitterTorusSectionRadius `floatSliderGrp -q -v flEmitterTorusSectionRadius`; if ( $executeCmd ) { global int $gDynIsCreate; performFluids $gDynIsCreate "2DFluidAndEmitter" 0; string $tmpCmd = "performFluids " + $gDynIsCreate + " \"2DFluidAndEmitter\" 0"; addToRecentCommandQueue $tmpCmd "2DFluidAndEmitter"; } }