// =========================================================================== // 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. // =========================================================================== // // Description: // Define the appearance of the attribute editor for the // bulletRigidBodyConstraint node. // global proc callUpdateConstraintUI( string $nodeName ) { python ("import maya.app.mayabullet.RigidBodyConstraintUI as rbcUI; rbcUI.updateConstraintUI( \"" + $nodeName + "\" )"); } global proc AEbulletRigidBodyConstraintShapeTemplate ( string $nodeName ) { editorTemplate -beginScrollLayout; // Add editorTemplate -addControl constraintType callUpdateConstraintUI; editorTemplate -addControl useReferenceFrame; editorTemplate -callCustom ("AEinputNew \"RigidBodyA\"") ("AEinputReplace \"RigidBodyA\"") "rigidBodyA"; editorTemplate -callCustom ("AEinputNew \"RigidBodyB\"") ("AEinputReplace \"RigidBodyB\"") "rigidBodyB"; editorTemplate -beginLayout (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kConstraintProperties")) -collapse true; editorTemplate -ann (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kBreakableAnn")) -addControl breakable; editorTemplate -ann (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kBreakingThresholdAnn")) -addControl breakingThreshold; editorTemplate -addControl linearDamping; editorTemplate -addControl linearSoftness; editorTemplate -addControl linearRestitution; editorTemplate -addControl angularDamping; editorTemplate -addControl angularSoftness; editorTemplate -addControl angularRestitution; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kLimits")) -collapse true; editorTemplate -addControl linearConstraintX; editorTemplate -addControl linearConstraintY; editorTemplate -addControl linearConstraintZ; editorTemplate -addControl linearConstraintMin; editorTemplate -addControl linearConstraintMax; editorTemplate -addControl angularConstraintX; editorTemplate -addControl angularConstraintY; editorTemplate -addControl angularConstraintZ; editorTemplate -addControl angularConstraintMin; editorTemplate -addControl angularConstraintMax; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kLimitProperties")) -collapse true; editorTemplate -addControl linearLimitSoftness; editorTemplate -addControl linearLimitBias; editorTemplate -addControl linearLimitRelaxation; editorTemplate -addControl angularLimitSoftness; editorTemplate -addControl angularLimitBias; editorTemplate -addControl angularLimitRelaxation; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kMotors")) -collapse true; editorTemplate -addControl linearMotorEnabled callUpdateConstraintUI; editorTemplate -addControl linearMotorTargetSpeed; editorTemplate -addControl linearMotorMaxForce; editorTemplate -addControl angularMotorEnabled callUpdateConstraintUI; editorTemplate -addControl angularMotorTargetSpeed; editorTemplate -addControl angularMotorMaxForce; editorTemplate -endLayout; editorTemplate -beginLayout (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kSprings")) -collapse true; editorTemplate -beginNoOptimize; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kLinearSpringEnabledX")) -addControl linearSpringEnabledX; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kLinearSpringEnabledY")) -addControl linearSpringEnabledY; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kLinearSpringEnabledZ")) -addControl linearSpringEnabledZ; editorTemplate -endNoOptimize; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kLinearSpringStiffness")) -addControl linearSpringStiffness; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kLinearSpringDamping")) -addControl linearSpringDamping; editorTemplate -beginNoOptimize; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kAngularSpringEnabledX")) -addControl angularSpringEnabledX; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kAngularSpringEnabledY")) -addControl angularSpringEnabledY; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kAngularSpringEnabledZ")) -addControl angularSpringEnabledZ; editorTemplate -endNoOptimize; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kAngularSpringStiffness")) -addControl angularSpringStiffness; editorTemplate -label (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kAngularSpringDamping")) -addControl angularSpringDamping; editorTemplate -endLayout; // System Properties editorTemplate -beginLayout (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kDynamicsSystem")) -collapse true; string $solver = (uiRes("m_AEbulletRigidBodyConstraintShapeTemplate.kSolver")); editorTemplate -callCustom ("AEinputNew \"" + $solver + "\"") ("AEinputReplace \"" + $solver + "\"") "solverInitialized"; editorTemplate -endLayout; // Inherit AEshapeTemplate( $nodeName ); // Suppress //editorTemplate -suppress rigidBody1; //editorTemplate -suppress rigidBody1; //editorTemplate -suppress currentTime; editorTemplate -addExtraControls; editorTemplate -endScrollLayout; }