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 | |