00001 /**************************************************************************** 00002 * MODULE: R-Tree library 00003 * 00004 * AUTHOR(S): Antonin Guttman - original code 00005 * Daniel Green (green@superliminal.com) - major clean-up 00006 * and implementation of bounding spheres 00007 * 00008 * PURPOSE: Multidimensional index 00009 * 00010 * COPYRIGHT: (C) 2001 by the GRASS Development Team 00011 * 00012 * This program is free software under the GNU General Public 00013 * License (>=v2). Read the file COPYING that comes with GRASS 00014 * for details. 00015 *****************************************************************************/ 00016 00017 /*----------------------------------------------------------------------------- 00018 | Definitions and global variables. 00019 -----------------------------------------------------------------------------*/ 00020 00021 #define METHODS 1 00022 00023 #ifdef SPLIT_QC 00024 #define SPLIT_Q_GLOBAL 00025 #else 00026 #define SPLIT_Q_GLOBAL extern 00027 #endif 00028 00029 SPLIT_Q_GLOBAL struct Branch BranchBuf[MAXCARD+1]; 00030 SPLIT_Q_GLOBAL int BranchCount; 00031 SPLIT_Q_GLOBAL struct Rect CoverSplit; 00032 SPLIT_Q_GLOBAL RectReal CoverSplitArea; 00033 00034 /* variables for finding a partition */ 00035 SPLIT_Q_GLOBAL struct PartitionVars 00036 { 00037 int partition[MAXCARD+1]; 00038 int total, minfill; 00039 int taken[MAXCARD+1]; 00040 int count[2]; 00041 struct Rect cover[2]; 00042 RectReal area[2]; 00043 } Partitions[METHODS];