// =========================================================================== // 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. // =========================================================================== // // Procedure Name: // AEparticleTemplate // // Description Name; // Creates the attribute editor controls for the particle Node // // Input Value: // nodeName // // Output Value: // None // global proc AEnParticleDimPointForce( string $nodeName ) { int $f = getAttr( $nodeName + ".pointForceField" ); editorTemplate -dimControl $nodeName "pointFieldMagnitude" ($f == 0); editorTemplate -dimControl $nodeName "selfAttract" ($f == 0); editorTemplate -dimControl $nodeName "pointCollideCore" ($f == 0); editorTemplate -dimControl $nodeName "pointFieldDistance" ($f == 0); editorTemplate -dimControl $nodeName "pointFieldScale" ($f == 0); editorTemplate -dimControl $nodeName "pointFieldDropoff" ($f == 0); } global proc AEnParticleDimRotation( string $nodeName ) { int $r = getAttr( $nodeName + ".computeRotation" ); if( $r == true ){ string $rot = ($nodeName + ".rotationPP"); if( !objExists( $rot ) ){ addAttr -ln "rotationPP" -dt vectorArray $nodeName; addAttr -ln "rotationPP0" -dt vectorArray $nodeName; } string $ang = ($nodeName + ".angularVelocityPP"); if( !objExists( $ang ) ){ addAttr -ln "angularVelocityPP" -dt vectorArray $nodeName; addAttr -ln "angularVelocityPP0" -dt vectorArray $nodeName; } } editorTemplate -dimControl $nodeName "rotationFriction" ($r == 0); editorTemplate -dimControl $nodeName "rotationDamp" ($r == 0); } global proc AEnParticleDimOpacityInput( string $nodeName ) { // note that this routine is currently not implemented due to ramp attribute difficulties int $op = getAttr( $nodeName + ".opacityScaleInput" ); editorTemplate -dimControl $nodeName "opacityScaleRandomize" ($op == 0); editorTemplate -dimControl $nodeName "opacityScaleInputScale" ($op == 0 || $op == 2); editorTemplate -dimControl $nodeName "opacityScale" ($op == 0); } global proc AEnParticleChangeRenderType( string $nodeName ) { AEparticleAddDynamicRenderAttr( $nodeName ); checkDynamicAttributes( $nodeName ); } //========================================================= // Procedure Name: AEparticleTemplate // global proc AEnParticleTemplate ( string $nodeName ) { if( !exists ("AEparticleAddDynamicRenderAttr") ){ source AEparticleLayout; } editorTemplate -beginScrollLayout; editorTemplate -label (uiRes("m_AEnParticleTemplate.kEnable")) -addControl "isDynamic"; editorTemplate -beginNoOptimize; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kCount")) -collapse 1; editorTemplate -addControl "count"; editorTemplate -addControl "totalEventCount"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kLifespanAttributes")) -collapse 1; editorTemplate -addControl "lifespanMode" "dimLifespanControls"; editorTemplate -addDynamicControl "lifespan"; editorTemplate -addControl "lifespanRandom"; editorTemplate -addControl "generalSeed"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kParticleSize")) -collapse 1; editorTemplate -label (uiRes("m_AEnParticleTemplate.kRadiusA")) -addControl "radius"; AEaddRampControl ($nodeName+".radiusScale"); editorTemplate -label (uiRes("m_AEnParticleTemplate.kRadiusScaleRandomize")) -addControl "radiusScaleRandomize"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kCollisions")) -collapse 1; editorTemplate -label (uiRes("m_AEnParticleTemplate.kCollide")) -addControl "collide"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kSelfCollide")) -addControl "selfCollide"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kCollideStrength")) -addControl "collideStrength"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kCollisionLayer")) -addControl "collisionLayer"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kCollideWidthScale")) -addControl "collideWidthScale"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kSelfCollideWidthScale")) -addControl "selfCollideWidthScale"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kSolverDisplay")) -addControl "solverDisplay"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kDisplayColor")) -addControl "displayColor"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kBounce")) -addControl "bounce"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kFriction")) -addControl "friction"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kStickiness")) -addControl "stickiness"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kMaxSelfCollisionIterations")) -addControl "maxSelfCollisionIterations"; // editorTemplate -label _L10N( kMaxIterations, "Max Iterations" ) -addControl "maxIterations"; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kCollisionRamps")) -collapse 1; AEaddRampControl ($nodeName+".collideStrengthScale"); AEaddRampControl ($nodeName+".bounceScale"); editorTemplate -label (uiRes("m_AEnParticleTemplate.kBounceRandomize")) -addControl "bounceRandomize"; AEaddRampControl ($nodeName+".frictionScale"); editorTemplate -label (uiRes("m_AEnParticleTemplate.kFrictionRandomize")) -addControl "frictionRandomize"; AEaddRampControl ($nodeName+".stickinessScale"); editorTemplate -label (uiRes("m_AEnParticleTemplate.kStickinessRandomize")) -addControl "stickinessRandomize"; editorTemplate -endLayout; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kDynamicProperties")) -collapse 1; editorTemplate -addControl "forcesInWorld"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kIgnoreSolverWind")) -addControl "ignoreSolverWind"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kIgnoreSolverGravity")) -addControl "ignoreSolverGravity"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kLocalForce")) -addControl "localForce"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kLocalWind")) -addControl "localWind"; editorTemplate -addControl "dynamicsWeight"; editorTemplate -addControl "conserve"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kDrag")) -addControl "drag"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kDamp")) -addControl "damp"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kMass")) -addControl "pointMass"; AEaddRampControl ($nodeName+".massScale"); editorTemplate -label (uiRes("m_AEnParticleTemplate.kMassScaleRandomize")) -addControl "massScaleRandomize"; // editorTemplate -label _L10N( kTangentialDrag, "Tangential Drag" ) -addControl "tangentialDrag"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kForceFieldGeneration")) -collapse 1; editorTemplate -label (uiRes("m_AEnParticleTemplate.kPointForceField")) -addControl "pointForceField" "AEnParticleDimPointForce"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kPointFieldMagnitude")) -addControl "pointFieldMagnitude"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kSelfAttract")) -addControl "selfAttract"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kPointFieldDistance")) -addControl "pointFieldDistance"; AEaddRampControl ($nodeName+".pointFieldScale"); AEaddRampControl ($nodeName+".pointFieldDropoff"); editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kRotation")) -collapse 1; editorTemplate -label (uiRes("m_AEnParticleTemplate.kComputeRotation")) -addControl "computeRotation" "AEnParticleDimRotation"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kRotationFriction")) -addControl "rotationFriction"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kRotationDamp")) -addControl "rotationDamp"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kWindFieldGeneration")) -collapse 1; editorTemplate -label (uiRes("m_AEnParticleTemplate.kAirPushDistance")) -addControl "airPushDistance"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kAirPushVorticity")) -addControl "airPushVorticity"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kShadowDropoff")) -addControl "windShadowDistance"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kShadowDiffusion")) -addControl "windShadowDiffusion"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kSelfShadow")) -addControl "windSelfShadow"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kLiquidSimulation")) -collapse 1; editorTemplate -label (uiRes("m_AEnParticleTemplate.kEnableSPH")) -addControl "enableSPH"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kIncompressibility")) -addControl "incompressibility"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kRestDensity")) -addControl "restDensity"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kRadiusScaleSPH")) -addControl "radiusScaleSPH"; editorTemplate -addSeparator; editorTemplate -label (uiRes("m_AEnParticleTemplate.kViscosity")) -addControl "viscosity"; AEaddRampControl ($nodeName+".viscosityScale"); editorTemplate -label (uiRes("m_AEnParticleTemplate.kSurfaceTension")) -addControl "surfaceTension"; AEaddRampControl ($nodeName+".surfaceTensionScale"); // editorTemplate -label _L10N(kParallelSPH, "Parallel SPH" ) -addControl "parallelSPH"; // editorTemplate -label _L10N(kRecomputePairsSPH, "Recompute Pairs SPH" ) -addControl "recomputePairsSPH"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kOutputMesh")) -collapse true; editorTemplate -addControl "threshold"; editorTemplate -addControl "blobbyRadiusScale"; editorTemplate -addControl "motionStreak"; editorTemplate -addControl "meshTriangleSize"; editorTemplate -addControl "maxTriangleResolution"; editorTemplate -addControl "meshMethod"; editorTemplate -addControl "meshSmoothingIterations"; editorTemplate -addControl "colorPerVertex"; editorTemplate -addControl "opacityPerVertex"; editorTemplate -addControl "incandescencePerVertex"; editorTemplate -addControl "velocityPerVertex"; editorTemplate -addControl "uvwPerVertex"; editorTemplate -addControl "useGradientNormals"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kCaching")) -collapse 1; editorTemplate -label (uiRes("m_AEnParticleTemplate.kCacheableAttributes")) -addControl "cacheableAttributes"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kPostCacheRampEval")) -addControl "postCacheRampEval"; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kMemCacheBlock")) -collapse 1; editorTemplate -label (uiRes("m_AEnParticleTemplate.kMemoryCache")) -addControl "cacheData"; editorTemplate -endLayout; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kEmissionAttributes")) -collapse 1; editorTemplate -addControl "maxCount"; editorTemplate -addControl "levelOfDetail"; editorTemplate -addControl "inheritFactor"; editorTemplate -addControl "emissionInWorld"; editorTemplate -addControl "dieOnEmissionVolumeExit"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kEmissionOverlapPruning")) -addControl "emissionOverlapPruning"; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kEmissionRandomStreamSeeds")) -collapse 0; editorTemplate -callCustom "AEparticleSeedNew" "AEparticleSeedReplace" "seed"; editorTemplate -endLayout; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kShadingProperties")) -collapse 1; editorTemplate -addControl "particleRenderType" "AEnParticleChangeRenderType"; editorTemplate -addControl "depthSort"; // used by // Blobby Surface, Cloud editorTemplate -addDynamicControl "threshold"; // used by // Numeric editorTemplate -addDynamicControl "attributeName"; // used by // Cloud editorTemplate -addDynamicControl "betterIllumination"; editorTemplate -addDynamicControl "flatShaded"; // used by // MultiPoint, MultiStreak, Points, Streak editorTemplate -addDynamicControl "colorAccum"; //editorTemplate -addDynamicControl "colorRed"; //editorTemplate -addDynamicControl "colorGreen"; //editorTemplate -addDynamicControl "colorBlue"; // used by // MultiStreak, Streak, editorTemplate -addDynamicControl "lineWidth"; // used by // MultiPoint, MultiStreak editorTemplate -addDynamicControl "multiCount"; editorTemplate -addDynamicControl "multiRadius"; // used by // MultiPoint, MultiStreak, Points, Streak editorTemplate -addDynamicControl "normalDir"; // used by // MultiPoint, Numeric, Points editorTemplate -addDynamicControl "pointSize"; // used by // Tube editorTemplate -addDynamicControl "radius0"; editorTemplate -addDynamicControl "radius1"; // used by // Numeric editorTemplate -addDynamicControl "selectedOnly"; // used by // Cloud editorTemplate -addDynamicControl "surfaceShading"; // used by // MultiStreak, Streak editorTemplate -addDynamicControl "tailFade"; // used by // MultiStreak, Streak, Tube editorTemplate -addDynamicControl "tailSize"; // used by // MultiPoint, MultiStreak, Points, // Sprites, Streak editorTemplate -addDynamicControl "useLighting"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kOpacityA")) -addControl "opacity"; AEaddRampControl ($nodeName+".opacityScale"); // editorTemplate -label _L10N( kOpacityScaleInput, "Opacity Scale Input" ) -addControl "opacityScaleInput" "AEnParticleDimOpacityInput"; editorTemplate -label (uiRes("m_AEnParticleTemplate.kOpacityScaleRandomize")) -addControl "opacityScaleRandomize"; AEaddRampControl ($nodeName+".color"); editorTemplate -label (uiRes("m_AEnParticleTemplate.kColorRandomize")) -addControl "colorRandomize"; AEaddRampControl ($nodeName+".incandescence"); editorTemplate -label (uiRes("m_AEnParticleTemplate.kIncandescenceRandomize")) -addControl "incandescenceRandomize"; editorTemplate -endLayout; // This layout should be opened on creation to force // the creation of its nested UI. This is because // AEgenericPerParticle.mel will explicitly attempt // to open this layout later on anyway. // editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kPerParticle")) -collapse 1; editorTemplate -callCustom "AEgenericPerParticle \"unused\"" "AEgenericPerParticle \"unused\"" "genericPP"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kAddDynamicAttributes")) -collapse 1; editorTemplate -callCustom "AEaddDynamicAttrNew" "AEaddDynamicAttrReplace" "count"; editorTemplate -endLayout; // Tab for goal force attributes // editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kGoalWeightsandObjects")) -collapse 1; editorTemplate -callCustom "AEdynObjectGoalWeightNew" "AEdynObjectGoalWeightReplace" "goalWeight"; editorTemplate -endLayout; // Tab for particle instancer attributes // editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kInstancer")) -collapse 1; editorTemplate -callCustom "AEdynParticleInstancerNew" "AEdynParticleInstancerReplace" "instanceAttributeMapping"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kSpriteAttributes")) -collapse true; editorTemplate -addControl "SpriteAnimation"; editorTemplate -addControl "SpriteStartOption"; editorTemplate -addControl "SpriteCyclePattern"; editorTemplate -addControl "SpriteCycleLength"; editorTemplate -addControl "SpriteInvertCycle"; editorTemplate -addSeparator; editorTemplate -addDynamicControl "spriteNum"; editorTemplate -addDynamicControl "spriteScaleX"; editorTemplate -addDynamicControl "spriteScaleY"; editorTemplate -addDynamicControl "spriteTwist"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kRenderStats")) ; editorTemplate -addControl "visibleInReflections"; editorTemplate -addControl "visibleInRefractions"; editorTemplate -addControl "castsShadows"; editorTemplate -addControl "receiveShadows"; editorTemplate -addControl "motionBlur"; editorTemplate -addControl "primaryVisibility"; editorTemplate -endLayout; // Attributes to control time in the solver. editorTemplate -beginLayout (uiRes("m_AEnParticleTemplate.kTimeAttributes")) -collapse true; editorTemplate -addControl "startFrame"; editorTemplate -addControl "currentTime"; editorTemplate -endLayout; editorTemplate -endNoOptimize; AEgeometryShapeTemplate $nodeName; editorTemplate -addExtraControls; // Suppress this attribute until we implement it // later in the Volume Controls stage editorTemplate -suppress "normalizeVelocity"; // Suppress attributes so they don't appear under "Extras." // editorTemplate -suppress "cacheWidth"; editorTemplate -suppress "inheritColor"; editorTemplate -suppress "age"; editorTemplate -suppress "particleId"; editorTemplate -suppress "idQuery"; editorTemplate -suppress "attributeQuery"; editorTemplate -suppress "levelOfDetail"; editorTemplate -suppress "shapeNameMsg"; editorTemplate -suppress "event"; editorTemplate -suppress "eventCount"; editorTemplate -suppress "eventTest"; editorTemplate -suppress "centroid"; editorTemplate -suppress "opacityPP"; editorTemplate -suppress "lifespanPP"; editorTemplate -suppress "rgbPP"; editorTemplate -suppress "goalPP"; editorTemplate -suppress "ageNormalized"; editorTemplate -suppress "expressionsAfterDynamics"; editorTemplate -suppress "useLifespanPP"; editorTemplate -suppress "collisionData"; editorTemplate -suppress "collisionResilience"; editorTemplate -suppress "collisionFriction"; editorTemplate -suppress "traceDepth"; editorTemplate -suppress "goalGeometry"; editorTemplate -suppress "goalActive"; editorTemplate -suppress "goalSmoothness"; editorTemplate -suppress "inputGeometry"; editorTemplate -suppress "enforceCountFromHistory"; editorTemplate -suppress "targetGeometryWorldMatrix"; editorTemplate -suppress "goalPP0"; editorTemplate -suppress "goalPPCache"; editorTemplate -suppress "opacityPP0"; editorTemplate -suppress "opacityPPCache"; editorTemplate -suppress "rgbPP0"; editorTemplate -suppress "rgbPPCache"; editorTemplate -suppress "lifespanPP0"; editorTemplate -suppress "lifespanPPCache"; editorTemplate -suppress "input"; editorTemplate -suppress "output"; editorTemplate -suppress "nextId"; editorTemplate -suppress "nextId0"; editorTemplate -suppress "currentSceneTime"; editorTemplate -suppress "lastSceneTime"; editorTemplate -suppress "inputForce"; editorTemplate -suppress "goalStatus"; editorTemplate -suppress "age0"; editorTemplate -suppress "particleId0"; editorTemplate -suppress "mass"; editorTemplate -suppress "eventSeed"; editorTemplate -suppress "eventRandState"; editorTemplate -suppress "eventRandStateX"; editorTemplate -suppress "eventRandStateY"; editorTemplate -suppress "eventRandStateZ"; editorTemplate -suppress "eventCountCache"; editorTemplate -suppress "eventName"; editorTemplate -suppress "eventValid"; editorTemplate -suppress "eventCount"; editorTemplate -suppress "eventEmit"; editorTemplate -suppress "eventSplit"; editorTemplate -suppress "eventDie"; editorTemplate -suppress "eventRandom"; editorTemplate -suppress "eventSpread"; editorTemplate -suppress "eventProc"; editorTemplate -suppress "traceDepthPP"; editorTemplate -suppress "currentTimeSave"; editorTemplate -suppress "useStartupCache"; editorTemplate -suppress "startupCachePath"; editorTemplate -suppress "startupCacheFrame"; // suppress any rendering attributes // editorTemplate -suppress "spriteNumPP"; editorTemplate -suppress "spriteScaleXPP"; editorTemplate -suppress "spriteScaleYPP"; editorTemplate -suppress "spriteTwistPP"; editorTemplate -suppress "radiusPP"; editorTemplate -suppress "incandescencePP"; // suppress the instancing attributes // editorTemplate -suppress "instanceData"; editorTemplate -suppress "instancePointData"; // suppress the sprite attributes // editorTemplate -suppress "__ApplySprite__"; editorTemplate -suppress "startIndexPP"; editorTemplate -suppress "spriteNumRamp"; editorTemplate -suppress "spriteNumRampU"; editorTemplate -suppress "worldVelocityInObjectSpace"; // suppress attr for fireworks clip effect editorTemplate -suppress "deformedPosition"; // suppress softbody attributes // editorTemplate -suppress "inputGeometrySpace"; editorTemplate -suppress "targetGeometrySpace"; // suppress nCloth attributes editorTemplate -suppress "dampMap"; editorTemplate -suppress "thickness"; editorTemplate -suppress "thicknessPerVertex"; editorTemplate -suppress "bouncePerVertex"; editorTemplate -suppress "numSubdivisions"; editorTemplate -suppress "frictionPerVertex"; editorTemplate -suppress "dampPerVertex"; editorTemplate -suppress "massPerVertex"; editorTemplate -suppress "stretchPerVertex"; editorTemplate -suppress "bendPerVertex"; editorTemplate -suppress "rigidityPerVertex"; editorTemplate -suppress "deformPerVertex"; editorTemplate -suppress "inputAttractPerVertex"; editorTemplate -suppress "wrinklePerVertex"; editorTemplate -suppress "thicknessMapType"; editorTemplate -suppress "bounceMapType"; editorTemplate -suppress "frictionMapType"; editorTemplate -suppress "massMapType"; editorTemplate -suppress "dampMapType"; editorTemplate -suppress "stretchMapType"; editorTemplate -suppress "bendMapType"; editorTemplate -suppress "rigidityMapType"; editorTemplate -suppress "deformMapType"; editorTemplate -suppress "inputAttractMapType"; editorTemplate -suppress "restShapeMesh"; editorTemplate -suppress "localSpaceOutput"; editorTemplate -suppress "rampPosition"; editorTemplate -suppress "rampVelocity"; editorTemplate -suppress "rampAcceleration"; editorTemplate -suppress "position"; editorTemplate -suppress "velocity"; editorTemplate -suppress "acceleration"; editorTemplate -suppress "uvSetTweakLocation"; editorTemplate -suppress "renderInfo"; editorTemplate -suppress "active"; editorTemplate -suppress "nextState"; editorTemplate -suppress "collisionMesh"; editorTemplate -suppress "inputMesh"; editorTemplate -suppress "outputMesh"; editorTemplate -suppress "playFromCache"; editorTemplate -suppress "pointFieldScalePP"; editorTemplate -suppress "frictionScalePP"; editorTemplate -suppress "stickinessScalePP"; editorTemplate -suppress "collideStrengthPP"; editorTemplate -suppress "bounceScalePP"; editorTemplate -suppress "viscosityScalePP"; editorTemplate -suppress "fieldMagnitudeMap"; editorTemplate -suppress "fieldMagnitudeMapType"; editorTemplate -suppress "fieldMagnitudePerVertex"; editorTemplate -suppress "thicknessMap"; editorTemplate -suppress "bounceMap"; editorTemplate -suppress "stretchMap"; editorTemplate -suppress "frictionMap"; editorTemplate -suppress "stickinessMap"; editorTemplate -suppress "stickinessPerVertex"; editorTemplate -suppress "collideStrengthMap"; editorTemplate -suppress "collideStrengthPerVertex"; editorTemplate -suppress "collisionFlag"; editorTemplate -suppress "selfCollisionFlag"; editorTemplate -suppress "massMap"; editorTemplate -suppress "restLengthScale"; editorTemplate -suppress "pushOut"; editorTemplate -suppress "pushOutRadius"; editorTemplate -suppress "crossoverPush"; editorTemplate -suppress "trappedCheck"; editorTemplate -suppress "forceField"; editorTemplate -suppress "fieldMagnitude"; editorTemplate -suppress "fieldDistance"; editorTemplate -suppress "fieldScale"; editorTemplate -suppress "stickinessMapType"; editorTemplate -suppress "collideStrengthMapType"; editorTemplate -suppress "scalingRelation"; editorTemplate -suppress "inputAttract"; editorTemplate -suppress "inputAttractDamp"; editorTemplate -suppress "maxIterations"; editorTemplate -suppress "parallelSPH"; editorTemplate -suppress "recomputePairsSPH"; editorTemplate -endScrollLayout; }