// =========================================================================== // 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: May 29, 1997 // // Procedure Name: // AErigidBodyTemplate // // Description Name; // Creates the attribute editor controls for the rigidBody node // // Input Value: // nodeName // // Output Value: // None // global proc AErigidBodyTemplate( string $nodeName ) { editorTemplate -beginScrollLayout; editorTemplate -beginLayout (uiRes("m_AErigidBodyTemplate.kRigidBodyAttributes")) -collapse false; editorTemplate -beginNoOptimize; editorTemplate -addControl "active" "activeControls"; editorTemplate -addControl "particleCollision"; editorTemplate -addControl "allowDisconnection"; editorTemplate -endNoOptimize; editorTemplate -addSeparator; editorTemplate -addControl "mass"; editorTemplate -addControl "centerOfMass"; editorTemplate -addControl "lockCenterOfMass"; editorTemplate -addSeparator; editorTemplate -addControl "staticFriction"; editorTemplate -addControl "dynamicFriction"; editorTemplate -addControl "bounciness"; editorTemplate -addControl "damping"; editorTemplate -addControl "impulse"; editorTemplate -addControl "impulsePosition"; editorTemplate -addControl "spinImpulse"; editorTemplate -addSeparator; editorTemplate -addControl "velocity"; editorTemplate -addControl "spin"; editorTemplate -addControl "force"; editorTemplate -addControl "torque"; editorTemplate -addControl "solverId"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AErigidBodyTemplate.kInitialSettings")) ; editorTemplate -addControl "initialSpin"; editorTemplate -addControl "initialPosition"; editorTemplate -addControl "initialOrientation"; editorTemplate -addControl "initialVelocity"; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AErigidBodyTemplate.kPerformanceAttributes")) ; editorTemplate -addControl "standIn"; editorTemplate -addControl "applyForceAt"; editorTemplate -addControl "tessellationFactor"; editorTemplate -addControl "collisionLayer"; editorTemplate -addControl "collisions"; editorTemplate -addControl "ignore"; editorTemplate -endLayout; // suppressed attributes editorTemplate -suppress "inputGeometryCnt"; editorTemplate -suppress "inputGeometryMsg"; editorTemplate -suppress "interpenetrateWith"; editorTemplate -suppress "choice"; editorTemplate -suppress "contactCount"; editorTemplate -suppress "collisionData"; editorTemplate -suppress "collisionRecords"; editorTemplate -suppress "cacheData"; // include/call base class/node attributes AEdynObjectCommon $nodeName; AEdynObjectInclude $nodeName; editorTemplate -addExtraControls; editorTemplate -endScrollLayout; } global proc activeControls( string $nodeName ) { string $attr = $nodeName + ".active"; int $isActive = `getAttr $attr`; int $dimIt = false; if ( $isActive == 0 ) { $dimIt = true; } // If the rigid body is passive then dim the mass attribute. // editorTemplate -dimControl $nodeName "mass" $dimIt ; editorTemplate -dimControl $nodeName "particleCollision" $dimIt ; editorTemplate -dimControl $nodeName "damping" $dimIt ; editorTemplate -dimControl $nodeName "centerOfMass" $dimIt ; editorTemplate -dimControl $nodeName "lockCenterOfMass" $dimIt ; editorTemplate -dimControl $nodeName "impulse" $dimIt ; editorTemplate -dimControl $nodeName "impulsePosition" $dimIt ; editorTemplate -dimControl $nodeName "spinImpulse" $dimIt ; editorTemplate -dimControl $nodeName "applyForceAt" $dimIt ; }