38 lines
1.7 KiB
C
38 lines
1.7 KiB
C
|
/*************************************************************************/
|
||
|
/* */
|
||
|
/* Copyright (c) 1994 Stanford University */
|
||
|
/* */
|
||
|
/* All rights reserved. */
|
||
|
/* */
|
||
|
/* Permission is given to use, copy, and modify this software for any */
|
||
|
/* non-commercial purpose as long as this copyright notice is not */
|
||
|
/* removed. All other uses, including redistribution in whole or in */
|
||
|
/* part, are forbidden without prior written permission. */
|
||
|
/* */
|
||
|
/* This software is provided with absolutely no warranty and no */
|
||
|
/* support. */
|
||
|
/* */
|
||
|
/*************************************************************************/
|
||
|
|
||
|
#ifndef _Partition_H
|
||
|
#define _Partition_H 1
|
||
|
|
||
|
#include "box.h"
|
||
|
#include "defs.h"
|
||
|
|
||
|
/* Void function type */
|
||
|
typedef void (*partition_function)(long my_id, box *b);
|
||
|
|
||
|
typedef enum { TOP, BOTTOM, CHILDREN } partition_start;
|
||
|
typedef enum { ORB, COST_ZONES } partition_alg;
|
||
|
|
||
|
extern void InitPartition(long my_id);
|
||
|
extern void PartitionIterate(long my_id, partition_function function,
|
||
|
partition_start position);
|
||
|
extern void InsertBoxInPartition(long my_id, box *b);
|
||
|
extern void RemoveBoxFromPartition(long my_id, box *b);
|
||
|
extern void ComputeCostOfBox(box *b);
|
||
|
extern void CheckPartition(long my_id);
|
||
|
|
||
|
#endif /* _Partition_H */
|