// Copyright (C) 1997-2004 Alias Systems Corp.
// 
// The information in this file is provided for the exclusive use of the
// licensees of Alias.  Such users have the right to use, modify,
// and incorporate this code into other products for purposes authorized
// by the Alias license agreement, without fee.
// 
// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.

//
// Alias Script File
// MODIFY THIS AT YOUR OWN RISK
//
// Procedure Name
//     AEcpMeshConstraintTemplate
//
// Description
//     Creates attribute editor controls for cpMeshConstraint node.
//
// Return Value
//     None
//

global proc cpCheckSoft(string $nodeName) 
{
	string $sa[] = `listConnections -sh 1 -p 1 -d 1 -s 0 ($nodeName + ".isSoft")`;
	int $isConnected = size($sa);
	int $isSoft = `getAttr ($nodeName+".isSoft")`;
	
	if ($isConnected < 1) {
		editorTemplate -dimControl $nodeName "isSoft" true;
		editorTemplate -dimControl $nodeName "stiffness" true;
		editorTemplate -dimControl $nodeName "damping" true;
	}
	else if ($isSoft) 
	{
		editorTemplate -dimControl $nodeName "isSoft" false;
		editorTemplate -dimControl $nodeName "stiffness" false;
		editorTemplate -dimControl $nodeName "damping" false;
	}
	else 
	{
		editorTemplate -dimControl $nodeName "isSoft" false;
		editorTemplate -dimControl $nodeName "stiffness" true;
		editorTemplate -dimControl $nodeName "damping" true;
	}
}

global proc  AEcpMeshConstraintTemplate(string $nodeName)
{
	editorTemplate -beginScrollLayout;
	editorTemplate -beginLayout "Mesh Constraint" -collapse 0;
		editorTemplate -addControl "constraintWeight";
		editorTemplate -addControl "size";
		editorTemplate -addControl "isSoft" "cpCheckSoft";
		editorTemplate -addControl "stiffness";
		editorTemplate -addControl "damping";
		editorTemplate -suppress "indexList";
		editorTemplate -suppress "rigidBody";
	editorTemplate -endLayout;

	// Include locator class attributes.
	//
	editorTemplate -beginLayout "Locator Attributes" -collapse 1;
		AElocatorCommon $nodeName;
	editorTemplate -endLayout;
	AElocatorInclude $nodeName;

	editorTemplate -addExtraControls;
	editorTemplate -endScrollLayout;
}
