// 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.

//
//	Description:
//		Returns the distance between two 3D points.
//
global proc float distance2Pts( float $p1[], float $p2[] )
{
	if( size($p1) != 3 )
		warning("distance2Pts(): You must give a float array of 3 values as the 1st argument\n");
	if( size($p2) != 3 )
		warning("distance2Pts(): You must give a float array of 3 values as the 2nd argument\n");

	float $distance;
	float $v[3];
	$v[0] = $p1[0] - $p2[0];
	$v[1] = $p1[1] - $p2[1];
	$v[2] = $p1[2] - $p2[2];
	$distance = $v[0]*$v[0] + $v[1]*$v[1] + $v[2]*$v[2];
	$distance = sqrt( $distance );

	return $distance;
}

