// =========================================================================== // 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. // =========================================================================== source dynCreateLayout.mel; // // // Creation Date: April, 1997 // // Description: // This script contains code to create the layouts for the // dynamics option boxes (for Dynamics menus). // // Input Arguments to dynCreateLayout(): // string $parent -- the layout parent // int $theCmd -- the command for which the layout is being created // int $isCreate -- create or add mode // // Return Value: // None. // global proc createExtendFluidLayout( string $parent ) { checkBoxGrp -label (uiRes("m_dynCreateFluidLayout.kRebuildInitialState")) -label1 "" -annotation (uiRes("m_dynCreateFluidLayout.kRebuildInitialStateAnnot")) extendFluidRebuildIC; separator; $voxels = (uiRes("m_dynCreateFluidLayout.kVoxels")); intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kExtendMinusXBy")) -annotation (uiRes("m_dynCreateFluidLayout.kExtendMinusXByAnnot")) -min -5 -max 10 -fmn -50 -fmx 100 -extraLabel $voxels extendFluidMinX; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kExtendPlusXBy")) -annotation (uiRes("m_dynCreateFluidLayout.kExtendPlusXByAnnot")) -min -5 -max 10 -fmn -50 -fmx 100 -extraLabel $voxels extendFluidMaxX; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kExtendMinusYBy")) -annotation (uiRes("m_dynCreateFluidLayout.kExtendMinusYByAnnot")) -min -5 -max 10 -fmn -50 -fmx 100 -extraLabel $voxels extendFluidMinY; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kExtendPlusYBy")) -annotation (uiRes("m_dynCreateFluidLayout.kExtendPlusYByAnnot")) -min -5 -max 10 -fmn -50 -fmx 100 -extraLabel $voxels extendFluidMaxY; separator; text -align left -label (uiRes("m_dynCreateFluidLayout.kThreeDOnly")) ; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kExtendMinusZBy")) -annotation (uiRes("m_dynCreateFluidLayout.kExtendMinusZByAnnot")) -min -5 -max 10 -fmn -50 -fmx 100 -extraLabel $voxels extendFluidMinZ; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kExtendPlusZBy")) -annotation (uiRes("m_dynCreateFluidLayout.kExtendPlusZByAnnot")) -min -5 -max 10 -fmn -50 -fmx 100 -extraLabel $voxels extendFluidMaxZ; } global proc createResampleFluidLayout( string $parent ) { checkBoxGrp -label (uiRes("m_dynCreateFluidLayout.kResampleRebuildInitialState")) -label1 "" -annotation (uiRes("m_dynCreateFluidLayout.kResampleRebuildInitialAnnot")) resampleFluidRebuildIC; separator; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kXResolution")) -annotation (uiRes("m_dynCreateFluidLayout.kXResolutionAnnot")) -min 3 -max 100 -fmx 1000 resampleFluidX; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kYResolution")) -annotation (uiRes("m_dynCreateFluidLayout.kYResolutionAnnot")) -min 3 -max 100 -fmx 1000 resampleFluidY; separator; text -align left -label (uiRes("m_dynCreateFluidLayout.kResampleThreeDOnly")) ; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kZResolution")) -annotation (uiRes("m_dynCreateFluidLayout.kZResolutionAnnot")) -min 3 -max 100 -fmx 1000 resampleFluidZ; } global proc createCreate3DFluidLayout( string $parent ) { global float $gDynMaxFloatField; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCreate3DXResolution")) -annotation (uiRes("m_dynCreateFluidLayout.kCreate3DXResolutionAnnot")) -min 3 -max 100 -fmx 1000 create3DFluidXRes; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCreate3DYResolution")) -annotation (uiRes("m_dynCreateFluidLayout.kCreate3DYResolutionAnnot")) -min 3 -max 100 -fmx 1000 create3DFluidYRes; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCreate3DZResolution")) -annotation (uiRes("m_dynCreateFluidLayout.kCreate3DZResolutionAnnot")) -min 3 -max 100 -fmx 1000 create3DFluidZRes; separator; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kXSize")) -annotation (uiRes("m_dynCreateFluidLayout.kXSizeAnnot")) -field true -min 0.00001 -max 100 -fmn 0.00001 -fmx $gDynMaxFloatField -pre 3 -step 10 create3DFluidXSize; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kYSize")) -annotation (uiRes("m_dynCreateFluidLayout.kYSizeAnnot")) -field true -min 0.00001 -max 100 -fmn 0.00001 -fmx $gDynMaxFloatField -pre 3 -step 10 create3DFluidYSize; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kZSize")) -annotation (uiRes("m_dynCreateFluidLayout.kZSizeAnnot")) -field true -min 0.00001 -max 100 -fmn 0.00001 -fmx $gDynMaxFloatField -pre 3 -step 10 create3DFluidZSize; } global proc createCreate2DFluidLayout( string $parent ) { global float $gDynMaxFloatField; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCreate2DXResolution")) -annotation (uiRes("m_dynCreateFluidLayout.kCreate2DXResolutionAnnot")) -min 3 -max 100 -fmx 1000 create2DFluidXRes; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCreate2DYResolution")) -annotation (uiRes("m_dynCreateFluidLayout.kCreate2DYResolutionAnnot")) -min 3 -max 100 -fmx 1000 create2DFluidYRes; separator; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCreate2DXSize")) -annotation (uiRes("m_dynCreateFluidLayout.kCreate2DXSizeAnnot")) -field true -min 0.00001 -max 100 -fmn 0.00001 -fmx $gDynMaxFloatField -pre 3 -step 10 create2DFluidXSize; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCreate2DYSize")) -annotation (uiRes("m_dynCreateFluidLayout.kCreate2DYSizeAnnot")) -field true -min 0.00001 -max 100 -fmn 0.00001 -fmx $gDynMaxFloatField -pre 3 -step 10 create2DFluidYSize; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCreate2DZSize")) -annotation (uiRes("m_dynCreateFluidLayout.kCreate2DZSizeAnnot")) -field true -min 0.00001 -max 100 -fmn 0.00001 -fmx $gDynMaxFloatField -pre 3 -step 10 create2DFluidZSize; } global proc createMakeCollideFluidLayout( string $parent ) { intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kTessellationFactor")) -annotation (uiRes("m_dynCreateFluidLayout.kTessellationFactorAnnot")) -min 2 -max 1000 tessellationFactor; } global proc flEmitterMaxDistCB() { // If the user sets max distance less than min distance, // reset min distance to be the same as max distance. // float $minDist = `floatSliderGrp -q -v flEmitterMinDistance`; float $maxDist = `floatSliderGrp -q -v flEmitterMaxDistance`; if ($maxDist < $minDist) { floatSliderGrp -e -v $maxDist flEmitterMinDistance; } } global proc flEmitterMinDistCB() { // If the user sets min distance greater than max distance, // reset max distance to be the same as min distance. // float $minDist = `floatSliderGrp -q -v flEmitterMinDistance`; float $maxDist = `floatSliderGrp -q -v flEmitterMaxDistance`; if ($minDist > $maxDist) { floatSliderGrp -e -v $minDist flEmitterMaxDistance; } } global proc dynFluidEmitterCycleOptionChoice(string $parent) { setParent $parent; int $choice = `optionMenuGrp -q -sl flEmitterCycleOM`; if ($choice == 1) // no cycling { intSliderGrp -e -enable false flEmitterCycleInterval; } else { intSliderGrp -e -enable true flEmitterCycleInterval; } } global proc setDimmingForVolumeFluidEmitterAttributes( string $parent ) { // This generic proc is called by all "add emitter" // option boxes. It dims controls depending on what the // volume-shape option menu is set to. If those // controls don't exist (in the emit from object case, // for example) then just do nothing. // if( !`optionMenuGrp -q -exists flEmitterVolumeShapeOM` ) { return; } setParent $parent; string $type = `optionMenuGrp -q -v flEmitterTypeOM`; if( $type != (uiRes("m_dynCreateFluidLayout.kVolume")) ) { // Non-volume type. Disable all volume controls. // optionMenuGrp -e -enable false flEmitterVolumeShapeOM; floatSliderGrp -e -enable false flEmitterVolumeOffsetX; floatSliderGrp -e -enable false flEmitterVolumeOffsetY; floatSliderGrp -e -enable false flEmitterVolumeOffsetZ; floatSliderGrp -e -enable false flEmitterVolumeSweep; floatSliderGrp -e -enable false flEmitterTorusSectionRadius; text -e -enable true flEmitterVolumeEnablePrompt; } else { // Volume type. // Set all volume controls to defaults, first // optionMenuGrp -e -enable true flEmitterVolumeShapeOM; floatSliderGrp -e -enable true flEmitterVolumeOffsetX; floatSliderGrp -e -enable true flEmitterVolumeOffsetY; floatSliderGrp -e -enable true flEmitterVolumeOffsetZ; floatSliderGrp -e -enable true flEmitterVolumeSweep; floatSliderGrp -e -enable false flEmitterTorusSectionRadius; text -e -enable false flEmitterVolumeEnablePrompt; int $volShape = `optionMenuGrp -q -sl flEmitterVolumeShapeOM`; // Now disable selected ones as necessary // if ($volShape == 1) // cube { floatSliderGrp -e -enable false flEmitterVolumeSweep; } else if ($volShape == 5) // torus { floatSliderGrp -e -enable true flEmitterTorusSectionRadius; } } } global proc dynFluidEmitterOptionChoice(string $parent) { setParent $parent; string $choice = `optionMenuGrp -q -v flEmitterTypeOM`; // Omni Point // if ( $choice == (uiRes("m_dynCreateFluidLayout.kOmni"))) { floatSliderGrp -e -enable true flEmitterMinDistance; floatSliderGrp -e -enable true flEmitterMaxDistance; } // Surface // else if ( $choice == (uiRes("m_dynCreateFluidLayout.kSurface"))) { floatSliderGrp -e -enable true flEmitterMinDistance; floatSliderGrp -e -enable true flEmitterMaxDistance; } // Curve // else if ( $choice == (uiRes("m_dynCreateFluidLayout.kCurve"))) { floatSliderGrp -e -enable true flEmitterMinDistance; floatSliderGrp -e -enable true flEmitterMaxDistance; } // Volume // else if ( $choice == (uiRes("m_dynCreateFluidLayout.kVolume"))) { floatSliderGrp -e -enable false flEmitterMinDistance; floatSliderGrp -e -enable false flEmitterMaxDistance; } setDimmingForVolumeFluidEmitterAttributes( $parent ); } global proc enableAddEmitterControls( string $parent ) { // Disable non-emitter related controls if addEmitter checkbox is unchecked setParent $parent; int $addEmitter = `checkBoxGrp -q -v1 createAddEmitter`; textFieldGrp -e -enable $addEmitter flEmitterName; checkBoxGrp -e -enable $addEmitter flEmitterParenting; optionMenuGrp -e -enable $addEmitter flEmitterTypeOM; floatSliderGrp -e -enable $addEmitter flEmitterDensityRate; floatSliderGrp -e -enable $addEmitter flEmitterHeatRate; floatSliderGrp -e -enable $addEmitter flEmitterFuelRate; floatSliderGrp -e -enable $addEmitter flEmitterFluidDropoff; optionMenuGrp -e -enable $addEmitter flEmitterCycleOM; if ($addEmitter) { // The following controls might be enabled or disabled // depending on the value of the other control dynFluidEmitterOptionChoice( $parent ); dynFluidEmitterCycleOptionChoice( $parent ); } else { intSliderGrp -e -enable false flEmitterCycleInterval; floatSliderGrp -e -enable false flEmitterMinDistance; floatSliderGrp -e -enable false flEmitterMaxDistance; optionMenuGrp -e -enable false flEmitterVolumeShapeOM; floatSliderGrp -e -enable false flEmitterVolumeOffsetX; floatSliderGrp -e -enable false flEmitterVolumeOffsetY; floatSliderGrp -e -enable false flEmitterVolumeOffsetZ; floatSliderGrp -e -enable false flEmitterVolumeSweep; floatSliderGrp -e -enable false flEmitterTorusSectionRadius; text -e -enable false flEmitterVolumeEnablePrompt; } } global proc createFluidEmitterLayout( string $parent ) { global float $gDynMaxFloatField; global float $gDynMinFloatField; setParent $parent; // Emitter Name Widget // textFieldGrp -label (uiRes("m_dynCreateFluidLayout.kEmitterName")) -annotation (uiRes("m_dynCreateFluidLayout.kEmitterNameAnnot")) flEmitterName; checkBoxGrp -label (uiRes("m_dynCreateFluidLayout.kParentToContainer")) -label1 "" -annotation (uiRes("m_dynCreateFluidLayout.kParentToContainerAnnot")) flEmitterParenting; // Basic Emitter Attributes Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kBasicEmitterAttributes")) -bv true -lv true -cll true -cl false -mh 4 flEmitterBasicFL; columnLayout flEmitterBasicCL; // Emitter Types Option Menu // optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kEmitterType")) -cc ("dynFluidEmitterOptionChoice " + $parent) -annotation (uiRes("m_dynCreateFluidLayout.kEmitterTypeAnnot")) flEmitterTypeOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kOmni")) flEmitterOmniPoint; menuItem -label (uiRes("m_dynCreateFluidLayout.kVolume")) flEmitterVolume; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kDensityRateVoxelSec")) -annotation (uiRes("m_dynCreateFluidLayout.kDensityRateVoxelSecAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterDensityRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kHeatRateVoxelSec")) -annotation (uiRes("m_dynCreateFluidLayout.kHeatRateVoxelSecAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterHeatRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFuelRateVoxelSec")) -annotation (uiRes("m_dynCreateFluidLayout.kFuelRateVoxelSecAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterFuelRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluidDropoff")) -annotation (uiRes("m_dynCreateFluidLayout.kFluidDropoffAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step .1 flEmitterFluidDropoff; optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kCycleEmission")) -annotation (uiRes("m_dynCreateFluidLayout.kCycleEmissionAnnot")) -cc ("dynFluidEmitterCycleOptionChoice " + $parent) flEmitterCycleOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kNoneTimeRandomOff")) flEmitterCycleNone; menuItem -label (uiRes("m_dynCreateFluidLayout.kFrameTimeRandomOn")) flEmitterCycleFrame; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kCycleInterval")) -annotation (uiRes("m_dynCreateFluidLayout.kCycleIntervalAnnot")) -field true -min 1 -max 100 -fmx $gDynMaxFloatField //-pre 3 -step 0.5 flEmitterCycleInterval; setParent ..; setParent ..; // Direction Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kDistanceAttributes")) -bv true -lv true -cll true -cl true -mh 4 flEmitterDirectionFL; columnLayout flEmitterDirectionCL; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kMaxDistance")) -annotation (uiRes("m_dynCreateFluidLayout.kMaxDistanceAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 0.5 -cc flEmitterMaxDistCB flEmitterMaxDistance; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kMinDistance")) -annotation (uiRes("m_dynCreateFluidLayout.kMinDistanceAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 0.5 -cc flEmitterMinDistCB flEmitterMinDistance; setParent ..; setParent ..; // Volume Emitter Attributes Layout // int $collapse = 0; frameLayout -label (uiRes("m_dynCreateFluidLayout.kVolumeEmitterAttributes")) -bv true -lv true -cll true -cl $collapse -mh 4 flEmitterVolumeFL; columnLayout flEmitterVolumeCL; text -align left -label (uiRes("m_dynCreateFluidLayout.kSetEmitterTypeToVolume")) flEmitterVolumeEnablePrompt; optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kVolumeShape")) -annotation (uiRes("m_dynCreateFluidLayout.kVolumeShapeAnnot")) -cc ("setDimmingForVolumeFluidEmitterAttributes " + $parent) flEmitterVolumeShapeOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kCube")) flEmitterCube; menuItem -label (uiRes("m_dynCreateFluidLayout.kSphere")) flEmitterSphere; menuItem -label (uiRes("m_dynCreateFluidLayout.kCylinder")) flEmitterCylinder; menuItem -label (uiRes("m_dynCreateFluidLayout.kCone")) flEmitterCone; menuItem -label (uiRes("m_dynCreateFluidLayout.kTorus")) flEmitterTorus; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kVolumeOffsetX")) -annotation (uiRes("m_dynCreateFluidLayout.kVolumeOffsetXAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetX; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kVolumeOffsetY")) -annotation (uiRes("m_dynCreateFluidLayout.kVolumeOffsetYAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetY; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kVolumeOffsetZ")) -annotation (uiRes("m_dynCreateFluidLayout.kVolumeOffsetZAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetZ; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kVolumeSweep")) -annotation (uiRes("m_dynCreateFluidLayout.kVolumeSweepAnnot")) -field true -min 0 -max 360 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 3.6 flEmitterVolumeSweep; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kSectionRadius")) -annotation (uiRes("m_dynCreateFluidLayout.kSectionRadiusAnnot")) -field true -min 0 -max 1.0 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.1 flEmitterTorusSectionRadius; setParent ..; setParent ..; } global proc createFluidEmitFromObjectLayout( string $parent ) { global float $gDynMaxFloatField; global float $gDynMinFloatField; setParent $parent; // Emitter Name Widget // textFieldGrp -label (uiRes("m_dynCreateFluidLayout.kObjectEmitterName")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectEmitterNameAnnot")) flEmitterName; // Basic Emitter Attributes Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kObjectBasicEmitterAttributes")) -bv true -lv true -cll true -cl false -mh 4 flEmitterBasicFL; columnLayout flEmitterBasicCL; // Emitter Types Option Menu // optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kObjectEmitterType")) -cc ("dynFluidEmitterOptionChoice " + $parent) -annotation (uiRes("m_dynCreateFluidLayout.kObjectEmitterTypeAnnot")) flEmitterTypeOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kOmni")) flEmitterOmniPoint; menuItem -label (uiRes("m_dynCreateFluidLayout.kSurface")) flEmitterSurface; menuItem -label (uiRes("m_dynCreateFluidLayout.kCurve")) flEmitterCurve; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kObjectDensityRate")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectDensityRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterDensityRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kObjectHeatRate")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectHeatRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterHeatRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kObjectFuelRate")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectFuelRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterFuelRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kObjectEmitFluidDropoff")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectEmitFluidDropoffAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step .1 flEmitterFluidDropoff; optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kObjectCycleEmission")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectCycleEmissionAnnot")) -cc ("dynFluidEmitterCycleOptionChoice " + $parent) flEmitterCycleOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluidNoneTimeRandomOff")) flEmitterCycleNone; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluidFrameTimeRandomOn")) flEmitterCycleFrame; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kObjectCycleInterval")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectCycleIntervalAnnot")) -field true -min 1 -max 100 -fmx $gDynMaxFloatField //-pre 3 -step 0.5 flEmitterCycleInterval; setParent ..; setParent ..; // Direction Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kObjectDistance")) -bv true -lv true -cll true -cl true -mh 4 flEmitterDirectionFL; columnLayout flEmitterDirectionCL; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kObjectMaxDistance")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectMaxDistanceAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 0.5 -cc flEmitterMaxDistCB flEmitterMaxDistance; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kObjectMinDistance")) -annotation (uiRes("m_dynCreateFluidLayout.kObjectMinDistanceAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 0.5 -cc flEmitterMinDistCB flEmitterMinDistance; setParent ..; setParent ..; } global proc create3DFluidAndEmitterLayout( string $parent ) { global float $gDynMaxFloatField; global float $gDynMinFloatField; setParent $parent; // Basic Fluid Attributes Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kCreate3DBasicFluid")) -bv true -lv true -cll true -cl false -mh 4 createBasicFluidFL; columnLayout -adj true createBasicFluidCL; createCreate3DFluidLayout( $parent ); setParent ..; setParent ..; separator -style "none"; // Add Emitter // checkBoxGrp -label (uiRes("m_dynCreateFluidLayout.kCreate3DAddEmitter")) -label1 "" -cc ("enableAddEmitterControls " + $parent) -annotation (uiRes("m_dynCreateFluidLayout.kCreate3DAddEmitterAnnot")) createAddEmitter; // Emitter Name Widget // textFieldGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DEmitterName")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DEmitterNameAnnot")) flEmitterName; // Basic Emitter Attributes Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kFluid3DBasicEmitter")) -bv true -lv true -cll true -cl false -mh 4 flEmitterBasicFL; columnLayout -adj true flEmitterBasicCL; checkBoxGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DParentTo")) -label1 "" -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DParentToAnnot")) flEmitterParenting; // Emitter Types Option Menu // optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DEmitterType")) -cc ("dynFluidEmitterOptionChoice " + $parent) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DEmitterTypeAnnot")) flEmitterTypeOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kOmni")) flEmitterOmniPoint; menuItem -label (uiRes("m_dynCreateFluidLayout.kVolume")) flEmitterVolume; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DDensityRate")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DDensityRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterDensityRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DHeatRate")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DHeatRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterHeatRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DFuelRate")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DFuelRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterFuelRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DFluidDropoff")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DFluidDropoffAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step .1 flEmitterFluidDropoff; optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DCycleEmission")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DCycleEmissionAnnot")) -cc ("dynFluidEmitterCycleOptionChoice " + $parent) flEmitterCycleOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid3DNoneTimeRandomOff")) flEmitterCycleNone; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid3DFrameTimeRandomOn")) flEmitterCycleFrame; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DCycleInterval")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DCycleIntervalAnnot")) -field true -min 1 -max 100 -fmx $gDynMaxFloatField //-pre 3 -step 0.5 flEmitterCycleInterval; setParent ..; setParent ..; // Direction Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kFluid3DDistanceAttributes")) -bv true -lv true -cll true -cl true -mh 4 flEmitterDirectionFL; columnLayout -adj true flEmitterDirectionCL; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DMaxDistance")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DMaxDistanceAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 0.5 -cc flEmitterMaxDistCB flEmitterMaxDistance; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DMinDistance")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DMinDistanceAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 0.5 -cc flEmitterMinDistCB flEmitterMinDistance; setParent ..; setParent ..; // Volume Emitter Attributes Layout // int $collapse = 0; frameLayout -label (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeEmitter")) -bv true -lv true -cll true -cl $collapse -mh 4 flEmitterVolumeFL; columnLayout -adj true flEmitterVolumeCL; text -align left -label (uiRes("m_dynCreateFluidLayout.kFluid3DSetEmitterType")) flEmitterVolumeEnablePrompt; optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeShape")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeShapeAnnot")) -cc ("setDimmingForVolumeFluidEmitterAttributes " + $parent) flEmitterVolumeShapeOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid3DCube")) flEmitterCube; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid3DSphere")) flEmitterSphere; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid3DCylinder")) flEmitterCylinder; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid3DCone")) flEmitterCone; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid3DTorus")) flEmitterTorus; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeOffsetX")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeOffsetXAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetX; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeOffsetY")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeOffsetYAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetY; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeOffsetZ")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeOffsetZAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetZ; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeSweep")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DVolumeSweepAnnot")) -field true -min 0 -max 360 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 3.6 flEmitterVolumeSweep; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid3DSectionRadius")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid3DSectionRadiusAnnot")) -field true -min 0 -max 1.0 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.1 flEmitterTorusSectionRadius; setParent ..; setParent ..; } global proc create2DFluidAndEmitterLayout( string $parent ) { global float $gDynMaxFloatField; global float $gDynMinFloatField; setParent $parent; // Basic Fluid Attributes Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kCreate2DBasicFluid")) -bv true -lv true -cll true -cl false -mh 4 createBasicFluidFL; columnLayout -adj true createBasicFluidCL; createCreate2DFluidLayout( $parent ); setParent ..; setParent ..; separator -style "none"; // Add Emitter // checkBoxGrp -label (uiRes("m_dynCreateFluidLayout.kCreate2DAddEmitter")) -label1 "" -cc ("enableAddEmitterControls " + $parent) -annotation (uiRes("m_dynCreateFluidLayout.kCreate2DAddEmitterAnnot")) createAddEmitter; // Emitter Name Widget // textFieldGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DEmitterName")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DEmitterNameAnnot")) flEmitterName; // Basic Emitter Attributes Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kFluid2DBasicEmitter")) -bv true -lv true -cll true -cl false -mh 4 flEmitterBasicFL; columnLayout -adj true flEmitterBasicCL; checkBoxGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DParentTo")) -label1 "" -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DParentToAnnot")) flEmitterParenting; // Emitter Types Option Menu // optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DEmitterType")) -cc ("dynFluidEmitterOptionChoice " + $parent) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DEmitterTypeAnnot")) flEmitterTypeOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kOmni")) flEmitterOmniPoint; menuItem -label (uiRes("m_dynCreateFluidLayout.kVolume")) flEmitterVolume; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DDensityRate")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DDensityRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterDensityRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DHeatRate")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DHeatRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterHeatRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DFuelRate")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DFuelRateAnnot")) -field true -min 0 -max 500 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 10 flEmitterFuelRate; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DFluidDropoff")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DFluidDropoffAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step .1 flEmitterFluidDropoff; optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DCycleEmission")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DCycleEmissionAnnot")) -cc ("dynFluidEmitterCycleOptionChoice " + $parent) flEmitterCycleOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid2DNoneTimeRandomOff")) flEmitterCycleNone; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid2DFrameTimeRandomOn")) flEmitterCycleFrame; intSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DCycleInterval")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DCycleIntervalAnnot")) -field true -min 1 -max 100 -fmx $gDynMaxFloatField //-pre 3 -step 0.5 flEmitterCycleInterval; setParent ..; setParent ..; // Direction Layout // frameLayout -label (uiRes("m_dynCreateFluidLayout.kFluid2DDistanceAttributes")) -bv true -lv true -cll true -cl true -mh 4 flEmitterDirectionFL; columnLayout -adj true flEmitterDirectionCL; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DMaxDistance")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DMaxDistanceAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 0.5 -cc flEmitterMaxDistCB flEmitterMaxDistance; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DMinDistance")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DMinDistanceAnnot")) -field true -min 0 -max 10 -fmn 0 -fmx $gDynMaxFloatField -pre 3 -step 0.5 -cc flEmitterMinDistCB flEmitterMinDistance; setParent ..; setParent ..; // Volume Emitter Attributes Layout // int $collapse = 0; frameLayout -label (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeEmitter")) -bv true -lv true -cll true -cl $collapse -mh 4 flEmitterVolumeFL; columnLayout -adj true flEmitterVolumeCL; text -align left -label (uiRes("m_dynCreateFluidLayout.kFluid2DSetEmitterTypeTo")) flEmitterVolumeEnablePrompt; optionMenuGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeShape")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeShapeAnnot")) -cc ("setDimmingForVolumeFluidEmitterAttributes " + $parent) flEmitterVolumeShapeOM; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid2DCube")) flEmitterCube; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid2DSphere")) flEmitterSphere; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid2DCylinder")) flEmitterCylinder; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid2DCone")) flEmitterCone; menuItem -label (uiRes("m_dynCreateFluidLayout.kFluid2DTorus")) flEmitterTorus; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeOffsetX")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeOffsetXAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetX; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeOffsetY")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeOffsetYAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetY; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeOffsetZ")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeOffsetZAnnot")) -field true -min -10 -max 10 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.5 flEmitterVolumeOffsetZ; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeSweep")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DVolumeSweepAnnot")) -field true -min 0 -max 360 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 3.6 flEmitterVolumeSweep; floatSliderGrp -label (uiRes("m_dynCreateFluidLayout.kFluid2DSectionRadius")) -annotation (uiRes("m_dynCreateFluidLayout.kFluid2DSectionRadiusAnnot")) -field true -min 0 -max 1.0 -fmn $gDynMinFloatField -fmx $gDynMaxFloatField -pre 3 -step 0.1 flEmitterTorusSectionRadius; setParent ..; setParent ..; }