00001 /********************* 00002 * BoundingBox 00003 * @author Lukas Pezenka 00004 **********************/ 00005 #pragma once 00006 00007 #define NOMINMAX 00008 #include "glew.h" 00009 #include <windows.h> 00010 #include <vector> 00011 #include "constants.h" 00012 #include "GMathObject.h" 00013 #include "GVec4f.h" 00014 #include "GMatrix16.h" 00015 #include "GBone.h" 00016 00017 using namespace std; 00018 class GBone; 00019 00020 class GBoundingBox : public GMathObject 00021 { 00022 public: 00023 GVec4f minvalues; 00024 GVec4f maxvalues; 00025 GVec4f transformedminvalues; 00026 GVec4f transformedmaxvalues; 00027 GVec4f bounds[8]; 00028 00029 int ResetBounds(void); 00030 int Draw(double time, double dtime, GMatrix16 *viewmatrix, GMatrix16 *worldmatrix, int FLAGS); 00031 int Transform(GMatrix16 *m); 00032 int Transform(GBone *root); 00033 00034 int QueryMinima(GVec4f *result); 00035 int QueryMaxima(GVec4f *result); 00036 };