- Scalar vertices[] = {min[0], min[1], min[2],
- min[0], max[1], min[2],
- max[0], max[1], min[2],
- max[0], min[1], min[2],
- min[0], max[1], max[2],
- min[0], min[1], max[2],
- max[0], min[1], max[2],
- max[0], max[1], max[2]};
-
- GLubyte indicis[] = {0, 1, 2, 3,
- 1, 2, 7, 4,
- 3, 0, 5, 6,
- 2, 3, 6, 7,
- 5, 0, 1, 4,
- 4, 5, 6, 7};
-
- glEnableClientState(GL_VERTEX_ARRAY);
- glVertexPointer(3, GL_SCALAR, 0, vertices);
-
- glDrawElements(GL_QUADS, sizeof(indicis), GL_UNSIGNED_BYTE, indicis);
+ Vector3 mid = getCenter();
+
+ switch (num)
+ {
+ case 0:
+ octant.init(Vector3(min[0], min[1], mid[2]),
+ Vector3(mid[0], mid[1], max[2]));
+ break;
+
+ case 1:
+ octant.init(Vector3(mid[0], min[1], mid[2]),
+ Vector3(max[0], mid[1], max[2]));
+ break;
+
+ case 2:
+ octant.init(mid, max);
+ break;
+
+ case 3:
+ octant.init(Vector3(min[0], mid[1], mid[2]),
+ Vector3(mid[0], max[1], max[2]));
+ break;
+
+ case 4:
+ octant.init(min, mid);
+ break;
+
+ case 5:
+ octant.init(Vector3(mid[0], min[1], min[2]),
+ Vector3(max[0], mid[1], mid[2]));
+ break;
+
+ case 6:
+ octant.init(Vector3(mid[0], mid[1], min[2]),
+ Vector3(max[0], max[1], mid[2]));
+ break;
+
+ case 7:
+ octant.init(Vector3(min[0], mid[1], min[2]),
+ Vector3(mid[0], max[1], mid[2]));
+ break;
+ }