00001 //---------------------------------------------------------------------- 00002 // File: kd_search.h 00003 // Programmer: Sunil Arya and David Mount 00004 // Description: Standard 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_search_H 00026 #define ANN_kd_search_H 00027 00028 #include "kd_tree.h" // kd-tree declarations 00029 #include "kd_util.h" // kd-tree utilities 00030 #include "pr_queue_k.h" // k-element priority queue 00031 00032 #include <ANN/ANNperf.h> // performance evaluation 00033 00034 //---------------------------------------------------------------------- 00035 // More global variables 00036 // These are active for the life of each call to annkSearch(). They 00037 // are set to save the number of variables that need to be passed 00038 // among the various search procedures. 00039 //---------------------------------------------------------------------- 00040 00041 extern int ANNkdDim; // dimension of space (static copy) 00042 extern ANNpoint ANNkdQ; // query point (static copy) 00043 extern double ANNkdMaxErr; // max tolerable squared error 00044 extern ANNpointArray ANNkdPts; // the points (static copy) 00045 extern ANNmin_k *ANNkdPointMK; // set of k closest points 00046 extern int ANNptsVisited; // number of points visited 00047 00048 #endif