// 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
//
//  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 );
}
