Added constraint framework, and the nail contraint
This commit is contained in:
39
Extras/MayaPlugin/scripts/AEdNailConstraintTemplate.mel
Normal file
39
Extras/MayaPlugin/scripts/AEdNailConstraintTemplate.mel
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Bullet Continuous Collision Detection and Physics Library Maya Plugin
|
||||
Copyright (c) 2008 Walt Disney Studios
|
||||
|
||||
This software is provided 'as-is', without any express or implied warranty.
|
||||
In no event will the authors be held liable for any damages arising
|
||||
from the use of this software.
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it freely,
|
||||
subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must
|
||||
not claim that you wrote the original software. If you use this
|
||||
software in a product, an acknowledgment in the product documentation
|
||||
would be appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must
|
||||
not be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
Written by: Nicola Candussi <nicola@fluidinteractive.com>
|
||||
*/
|
||||
|
||||
//AEdNailConstraintTemplate.mel
|
||||
|
||||
global proc AEdNailConstraintTemplate( string $nodeName )
|
||||
{
|
||||
|
||||
editorTemplate -beginScrollLayout;
|
||||
|
||||
editorTemplate -addControl damping;
|
||||
editorTemplate -addControl inRigidBody;
|
||||
|
||||
AEdependNodeTemplate $nodeName;
|
||||
|
||||
editorTemplate -addExtraControls;
|
||||
editorTemplate -endScrollLayout;
|
||||
|
||||
}
|
||||
|
||||
@@ -308,6 +308,21 @@ global proc string dynamicaUI_createMainTab()
|
||||
}
|
||||
setParent ..;
|
||||
}
|
||||
|
||||
frameLayout -collapsable true -label "Constraints" -borderStyle "in";
|
||||
{
|
||||
rowLayout -nc 5;
|
||||
{
|
||||
string $createNailConstraintBtn = `iconTextButton -style "iconAndTextVertical" -label "Nail"
|
||||
-width 100 -image1 "dynamicaCreateNailConstraint.xpm" -c ("dynamicaUI_createNailConstraint")
|
||||
-ann "Create a nail constraint"`;
|
||||
|
||||
|
||||
setParent ..;
|
||||
}
|
||||
setParent ..;
|
||||
}
|
||||
|
||||
setParent ..;
|
||||
}
|
||||
return $mainForm;
|
||||
@@ -643,6 +658,28 @@ global proc dynamicaUI_createPassiveMeshRBArray()
|
||||
dynamicaUI_createRigidBodyArray(false, 1);
|
||||
}
|
||||
|
||||
global proc dynamicaUI_createNailConstraint()
|
||||
{
|
||||
string $selection[] = `ls -selection -dag -leaf -showType -type "geometry"`;
|
||||
|
||||
//create dSolver node if necessary
|
||||
dSolver;
|
||||
|
||||
string $newConstraints[];
|
||||
|
||||
for($i = 0; $i < size($selection) / 2; $i++) {
|
||||
if($selection[$i * 2 + 1] == "dRigidBody") {
|
||||
string $constraintNode = `dNailConstraint`;
|
||||
connectAttr ($selection[$i * 2] + ".message") ($constraintNode + ".inRigidBody");
|
||||
string $constraintTransforms[] = `listRelatives -parent $constraintNode`;
|
||||
$newConstraints[$i] = $constraintTransforms[0];
|
||||
}
|
||||
}
|
||||
|
||||
select -r $newConstraints;
|
||||
|
||||
}
|
||||
|
||||
global proc dyn_demo1()
|
||||
{
|
||||
dynamicaUI_createActiveSphereRBArray();
|
||||
|
||||
Reference in New Issue
Block a user