-
Notifications
You must be signed in to change notification settings - Fork 0
/
3dbpp.h
36 lines (28 loc) · 1.6 KB
/
3dbpp.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#define IUNIT 1000 /* scaling factor of nodes and iterat */
#define MAXBOXES 501 /* max number of boxes (plus one box) */
#define MAXBPP 1000000 /* max numer of iterations in 1-dim bpp */
#define MAXITER 1000 /* max iterations in heuristic onebin_robot */
#define MAXCLOSE 16 /* max level for which try_close is applied */
/* ======================================================================
binpack3d
====================================================================== */
void binpack3d(int n, int W, int H, int D,
int *w, int *h, int *d,
int *x, int *y, int *z, int *bno,
int *lb, int *ub,
int nodelimit, int iterlimit, int timelimit,
int *nodeused, int *iterused, int *timeused,
int packingtype);
int binpack3d_layer(int n, int W, int H, int D,
int *w, int *h, int *d,
int *x, int *y, int *z, int* wt, int* id, int *bno,
int *lb, int *ub,
int nodelimit, int iterlimit, int timelimit,
int *nodeused, int *iterused, int *timeused,
int packingtype);
void printboxes(int n, int W, int H, int D, int *w, int *h, int *d,
int *x, int *y, int *z, int *wt, int *id, int *bno);
void exchange(int *a, int i, int j);
void exchange_double(double *a, int i, int j);
void sort_range(int i_start, int i_end, int *a, int *b, int *c, int *d, int *e, int *f, int *g, int* i, int* k);
void sort_sol_range(int i_start, int i_end, int *a, int *b, double *c, int use_h_to_sort);