… | |
… | |
41 | a2.z = o1.z + ea; |
41 | a2.z = o1.z + ea; |
42 | |
42 | |
43 | sector b2; |
43 | sector b2; |
44 | sector eb; |
44 | sector eb; |
45 | |
45 | |
46 | b2.x = o2.x + (soffs)bbox.a.x; |
46 | b2.x = o2.x + bbox.a.x; |
47 | b2.y = o2.y + (soffs)bbox.a.y; |
47 | b2.y = o2.y + bbox.a.y; |
48 | b2.z = o2.z + (soffs)bbox.a.z; |
48 | b2.z = o2.z + bbox.a.z; |
49 | |
49 | |
50 | eb.x = (soffs)(bbox.b.x - bbox.a.x) / 2; |
50 | eb.x = (bbox.b.x - bbox.a.x) / 2; |
51 | eb.y = (soffs)(bbox.b.y - bbox.a.y) / 2; |
51 | eb.y = (bbox.b.y - bbox.a.y) / 2; |
52 | eb.z = (soffs)(bbox.b.z - bbox.a.z) / 2; |
52 | eb.z = (bbox.b.z - bbox.a.z) / 2; |
53 | |
53 | |
54 | b2.x += eb.x; |
54 | b2.x += eb.x; |
55 | b2.y += eb.y; |
55 | b2.y += eb.y; |
56 | b2.z += eb.z; |
56 | b2.z += eb.z; |
57 | |
57 | |
… | |
… | |
61 | } |
61 | } |
62 | |
62 | |
63 | void octant::add (entity_base *e) |
63 | void octant::add (entity_base *e) |
64 | { |
64 | { |
65 | printf ("OCTANT %d,%d,%d+%d\n", orig.x, orig.y, orig.z, extent); |
65 | printf ("OCTANT %d,%d,%d+%d\n", orig.x, orig.y, orig.z, extent); |
|
|
66 | |
|
|
67 | box bbox = translate (e->bbox, e->orig, orig); |
|
|
68 | |
|
|
69 | #if 0 |
|
|
70 | uoffs size = max (abs (bbox.b.x - bbox.a.x), |
|
|
71 | abs (bbox.b.y - bbox.a.y), |
|
|
72 | abs (bbox.b.z - bbox.a.z)); |
|
|
73 | #endif |
66 | |
74 | |
67 | if (overlap (orig, extent, e->orig, e->bbox)) |
75 | if (overlap (orig, extent, e->orig, e->bbox)) |
68 | { |
76 | { |
69 | printf ("overlap, add\n"); |
77 | printf ("overlap, add\n"); |
70 | push_back (e); |
78 | push_back (e); |