closestPointToPoint( point, target ) {

		target.subVectors( point, this.origin );

		const directionDistance = target.dot( this.direction );

		if ( directionDistance < 0 ) {

			return target.copy( this.origin );

		}

		return target.copy( this.origin ).addScaledVector( this.direction, directionDistance );

	}
Returns the point along this ray that is closest to the given point.

@param {Vector3} point - A point in 3D space to get the closet location on the ray for.
@param {Vector3} target - The target vector that is used to store the method's result.
@return {Vector3} The closest point on this ray.