X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FAabb.cc;h=692ec3622db5435ef04695ba132552df8ef231c4;hp=17ce66312e4888a6a51dfed6e6654e0319aa00a7;hb=3f6e44698c38b74bb622ad81ea9d2daa636981d2;hpb=a31d65a998121df0651c57bfb68782e2a07d2e2f diff --git a/src/Moof/Aabb.cc b/src/Moof/Aabb.cc index 17ce663..692ec36 100644 --- a/src/Moof/Aabb.cc +++ b/src/Moof/Aabb.cc @@ -35,6 +35,7 @@ namespace Mf { + /* void Aabb::getOctant(Aabb& octant, int num) const { Vector3 mid = getCenter(); @@ -80,75 +81,9 @@ void Aabb::getOctant(Aabb& octant, int num) const break; } } +*/ -void Aabb::getCorners(Vector3 corners[8]) const -{ - corners[0][0] = min[0]; corners[0][1] = min[1]; corners[0][2] = max[2]; - corners[1][0] = max[0]; corners[1][1] = min[1]; corners[1][2] = max[2]; - corners[2][0] = max[0]; corners[2][1] = max[1]; corners[2][2] = max[2]; - corners[3][0] = min[0]; corners[3][1] = max[1]; corners[3][2] = max[2]; - corners[4][0] = min[0]; corners[4][1] = min[1]; corners[4][2] = min[2]; - corners[5][0] = max[0]; corners[5][1] = min[1]; corners[5][2] = min[2]; - corners[6][0] = max[0]; corners[6][1] = max[1]; corners[6][2] = min[2]; - corners[7][0] = min[0]; corners[7][1] = max[1]; corners[7][2] = min[2]; -} - - -void Aabb::encloseVertices(const Vector3 vertices[], unsigned count) -{ - min = vertices[0]; - max = vertices[0]; - - for (unsigned i = 1; i < count; ++i) - { - if (vertices[i][0] < min[0]) min[0] = vertices[i][0]; - if (vertices[i][0] > max[0]) max[0] = vertices[i][0]; - if (vertices[i][1] < min[1]) min[1] = vertices[i][1]; - if (vertices[i][1] > max[1]) max[1] = vertices[i][1]; - if (vertices[i][2] < min[2]) min[2] = vertices[i][2]; - if (vertices[i][2] > max[2]) max[2] = vertices[i][2]; - } -} - - -void Aabb::draw(Scalar alpha) const -{ - 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 indices[] = {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); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glVertexPointer(3, GL_SCALAR, 0, vertices); - - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - Texture::resetBind(); - - glDrawElements(GL_QUADS, sizeof(indices), GL_UNSIGNED_BYTE, indices); - - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - //glDisableClientState(GL_VERTEX_ARRAY); - - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); -} - -bool Aabb::isVisible(const Frustum& frustum) const -{ - return frustum.contains(*this); -} } // namespace Mf