diff options
Diffstat (limited to 'libdimension/prtree.c')
-rw-r--r-- | libdimension/prtree.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libdimension/prtree.c b/libdimension/prtree.c index 55bbf5c..4e6131b 100644 --- a/libdimension/prtree.c +++ b/libdimension/prtree.c @@ -21,7 +21,17 @@ #include "dimension-impl.h" #include <stdlib.h> -typedef struct dmnsn_pseudo_prtree dmnsn_pseudo_prtree; +/* Number of children per node */ +#define DMNSN_PRTREE_B 6 + +struct dmnsn_prtree_node { + dmnsn_bounding_box bounding_box; + + /* Children (objects or subtrees) */ + bool is_leaf; + void *children[DMNSN_PRTREE_B]; + dmnsn_bounding_box bounding_boxes[DMNSN_PRTREE_B]; +}; typedef struct dmnsn_pseudo_prleaf { void *children[DMNSN_PRTREE_B]; @@ -29,6 +39,8 @@ typedef struct dmnsn_pseudo_prleaf { dmnsn_bounding_box bounding_box; } dmnsn_pseudo_prleaf; +typedef struct dmnsn_pseudo_prtree dmnsn_pseudo_prtree; + typedef struct dmnsn_pseudo_prnode { dmnsn_pseudo_prtree *left, *right; dmnsn_pseudo_prleaf children[6]; |