// 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:  July 17, 1998
//
//  Description:
//      This is the action for snap point to point. It takes any point 
//		selection (curve point, surface point, edit point, poly
//		vertex, etc.) and moves the first object by the distance between
//		the two points.
//
//  Input Arguments:
//      None.
//
//  Return Value:
//      None.
//


global proc snapPointToPoint( int $moveParent )
{
	// $moveParent = 0: move the object defined by the first 3 points
	// $moveParent = 1: move the parent of the object
	// $moveParent = 2: move the grandparent of the object
	// $moveParent = 3: move the great-grandparent of the object

	// Get the list of nurbs curves/surfaces selected.
	//
	global int $gSelectCVsBit;
	global int $gSelectMeshVerts;
	global int $gSelectLatticePoints;
	global int $gSelectParticles;
	global int $gSelectEditPointsBit;
	global int $gSelectCurveParmPointsBit;
	global int $gSelectSurfaceParmPointsBit;
	global int $gSelectMeshUVs;
	global int $gSelectRotatePivots;
	global int $gSelectScalePivots;
	global int $gSelectJointPivots;
	global int $gSelectSelectHandles;
	global int $gSelectDimensions;
	global int $gSelectUVLocators;
	global int $gSelectSubdivMeshPoints;
	string $objectList[] = `filterExpand -ex true -sm $gSelectCVsBit -sm $gSelectMeshVerts -sm $gSelectLatticePoints -sm $gSelectParticles -sm $gSelectEditPointsBit -sm $gSelectSurfaceParmPointsBit -sm $gSelectCurveParmPointsBit -sm $gSelectMeshUVs -sm $gSelectRotatePivots -sm $gSelectScalePivots -sm $gSelectJointPivots -sm $gSelectSelectHandles -sm $gSelectDimensions -sm $gSelectUVLocators -sm $gSelectSubdivMeshPoints`;

	snapPointToPointGiven( $objectList, $moveParent );
}
