00001 //---------------------------------------------------------------------- 00002 // File: kd_pr_search.h 00003 // Programmer: Sunil Arya and David Mount 00004 // Description: Priority kd-tree search 00005 // Last modified: 01/04/05 (Version 1.0) 00006 //---------------------------------------------------------------------- 00007 // Copyright (c) 1997-2005 University of Maryland and Sunil Arya and 00008 // David Mount. All Rights Reserved. 00009 // 00010 // This software and related documentation is part of the Approximate 00011 // Nearest Neighbor Library (ANN). This software is provided under 00012 // the provisions of the Lesser GNU Public License (LGPL). See the 00013 // file ../ReadMe.txt for further information. 00014 // 00015 // The University of Maryland (U.M.) and the authors make no 00016 // representations about the suitability or fitness of this software for 00017 // any purpose. It is provided "as is" without express or implied 00018 // warranty. 00019 //---------------------------------------------------------------------- 00020 // History: 00021 // Revision 0.1 03/04/98 00022 // Initial release 00023 //---------------------------------------------------------------------- 00024 00025 #ifndef ANN_kd_pr_search_H 00026 #define ANN_kd_pr_search_H 00027 00028 #include "kd_tree.h" // kd-tree declarations 00029 #include "kd_util.h" // kd-tree utilities 00030 #include "pr_queue.h" // priority queue declarations 00031 #include "pr_queue_k.h" // k-element priority queue 00032 00033 #include <ANN/ANNperf.h> // performance evaluation 00034 00035 //---------------------------------------------------------------------- 00036 // Global variables 00037 // Active for the life of each call to Appx_Near_Neigh() or 00038 // Appx_k_Near_Neigh(). 00039 //---------------------------------------------------------------------- 00040 00041 extern double ANNprEps; // the error bound 00042 extern int ANNprDim; // dimension of space 00043 extern ANNpoint ANNprQ; // query point 00044 extern double ANNprMaxErr; // max tolerable squared error 00045 extern ANNpointArray ANNprPts; // the points 00046 extern ANNpr_queue *ANNprBoxPQ; // priority queue for boxes 00047 extern ANNmin_k *ANNprPointMK; // set of k closest points 00048 00049 #endif