// 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.

//
//
// Given a texture node, make it into a layered texture node
// Last Updated: 07/18/2000
//
global proc
turnTextureIntoLayeredTexture(string $txtNode)
{
	// Get output connection plugs for color and alpha
	string $colCon[] = `listConnections -d 1 -p 1 ($txtNode+".outColor")`;
	string $alphaCon[] = `listConnections -d 1 -p 1 ($txtNode+".outAlpha")`;

	// For each connection:
	// a) break connection
	// b) create a new layered texture node
	// c) connect texture up to new layered texture node
	// d) connect layered texture node to color dest plug
	//
	string $layeredTx;
	for ($cc in $colCon)
	{
		disconnectAttr ($txtNode+".outColor") $cc;
		$layeredTx = `shadingNode -asTexture layeredTexture`;
		connectAttr ($txtNode+".outColor") ($layeredTx+".inputs[0].color");
		connectAttr ($layeredTx+".outColor") $cc;
	}

	for ($ac in $alphaCon)
	{
		disconnectAttr ($txtNode+".outAlpha") $ac;
		$layeredTx = `shadingNode -asTexture layeredTexture`;
		connectAttr ($txtNode+".outAlpha") ($layeredTx+".inputs[0].alpha");
		connectAttr ($layeredTx+".outAlpha") $ac;
	}
}
