1 /* vim:set shiftwidth=4 ts=8: */ 2 3 /************************************************************************* 4 * Copyright (c) 2011 AT&T Intellectual Property 5 * All rights reserved. This program and the accompanying materials 6 * are made available under the terms of the Eclipse Public License v1.0 7 * which accompanies this distribution, and is available at 8 * http://www.eclipse.org/legal/epl-v10.html 9 * 10 * Contributors: See CVS logs. Details at http://www.graphviz.org/ 11 *************************************************************************/ 12 13 #ifndef SPLIT_Q_H 14 #define SPLIT_Q_H 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 /*----------------------------------------------------------------------------- 21 | Definitions and global variables. 22 -----------------------------------------------------------------------------*/ 23 #include <rectangle.h> 24 #include <index.h> 25 26 #ifndef METHODS 27 #define METHODS 1 28 #endif /*METHODS*/ 29 /* variables for finding a partition */ 30 struct PartitionVars { 31 int partition[NODECARD + 1]; 32 int taken[NODECARD + 1]; 33 int count[2]; 34 struct Rect cover[2]; 35 int area[2]; 36 }; 37 38 typedef struct split_q_s { 39 struct Branch BranchBuf[NODECARD + 1]; 40 struct Rect CoverSplit; 41 unsigned int CoverSplitArea; 42 struct PartitionVars Partitions[METHODS]; 43 } SplitQ_t; 44 45 void SplitNode(RTree_t *, Node_t *, Branch_t *, Node_t **); 46 47 #ifdef __cplusplus 48 } 49 #endif 50 51 #endif /*SPLIT_Q_H */ 52