Bubba-3D  0.9.0
Awesome game engine!
AABB2.h
1 /*
2  * This file is part of Bubba-3D.
3  *
4  * Bubba-3D is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * Bubba-3D is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with Bubba-3D. If not, see http://www.gnu.org/licenses/.
16  */
17 #ifndef __AABB_H__
18 #define __AABB_H__
19 
20 #include <glutil/glutil.h>
21 #include <float.h>
22 
23 struct AABB {
24  chag::float3 maxV;
25  chag::float3 minV;
26 
27  AABB() {
28  maxV = chag::make_vector(-FLT_MAX, -FLT_MAX, -FLT_MAX);
29  minV = chag::make_vector(FLT_MAX, FLT_MAX, FLT_MAX);
30  }
31 
32  float getSize() {
33  return sqrtf(pow(maxV.x - minV.x,2) + pow(maxV.y - minV.y,2) + pow(maxV.z - minV.z,2));
34  }
35 
36  chag::float3 getCenterPosition() {
37  return (maxV - minV) / 2;
38  }
39 };
40 
41 #endif
Definition: AABB2.h:23