// Copyright (C) 1997-2006 Autodesk, Inc., and/or its licensors.
// All rights reserved.
//
// The coded instructions, statements, computer programs, and/or related
// material (collectively the "Data") in these files contain unpublished
// information proprietary to Autodesk, Inc. ("Autodesk") and/or its licensors,
// which is protected by U.S. and Canadian federal copyright law and by
// international treaties.
//
// The Data is provided for use exclusively by You. You have the right to use,
// modify, and incorporate this Data into other products for purposes authorized 
// by the Autodesk software license agreement, without fee.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. AUTODESK
// DOES NOT MAKE AND HEREBY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTIES
// INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF NON-INFRINGEMENT,
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE 
// OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT WILL AUTODESK AND/OR ITS
// LICENSORS BE LIABLE FOR ANY LOST REVENUES, DATA, OR PROFITS, OR SPECIAL,
// DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES, EVEN IF AUTODESK AND/OR ITS
// LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY OR PROBABILITY OF SUCH DAMAGES.

//
//  Alias Script File
//  MODIFY THIS AT YOUR OWN RISK
//
//  Creation Date:  18 April 1997
//
//  Description:
//      This implements the various global proc and variables needed 
//		for polygons
//

// these proc are called mainly from PolygonsMenu.mel and EditPolygonsMenu.
// however, we need to have them defined here, because polygons menu
// is read only once the user has pulled down the polygons menu:
// this could make the shelf and other user defined UI fail
// if the PolygonsMenu has not been created and these functions are called.


global proc string performPolyCollapse (int $ret)
{
	string $comp="";
	string $lbl;
	if ($ret)
		return "performPolyCollapse 0";
	if (`selectType -q -pf`) $comp="f";
	else if (`selectType -q -pv`) $comp="vtx";
	else if (`selectType -q -pe`) $comp="e";
	else if (`selectType -q -puv`) $comp="map";

	if (`selectMode -q -object`) { // Object Selection Mode
		// Check for RMB component selection 
		if (`selectType -q -ocm -facet`) $comp="f";
		else if (`selectType -q -ocm -edge`) $comp="e";
		else if (`selectType -q -ocm -vertex`) $comp="vtx";
		else if (`selectType -q -ocm -texture`) $comp="map";
	}
	
	if ($comp == "f") $lbl="polyCollapseFacet";
	else if ($comp == "e") $lbl="polyCollapseEdge";
	else if ($ret == 0) {
		warning "Polygon edges or faces must be selected to collapse them";
		return "";
	}
	return `polyPerformAction $lbl $comp 0`;
}
