/*--------------------------------------------------------------------------------- KubKraft Copyright (C) 2012 Quent42340 This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ---------------------------------------------------------------------------------*/ #ifndef SCENE_H #define SCENE_H typedef struct { float x; float y; float z; } vect3D; class Scene { public: Scene(); ~Scene(); void exec(); void manageEvents(); void animate(); void draw(); void display(); void loadTextures(); void drawField(); void lockMouse(); void unlockMouse(); Biome *findNearestBiome(float x, float y, float z); static bool intersectionLinePlane(vect3D normal, vect3D planePoint, vect3D lineOrigPoint, vect3D directionVector, float *distance); static bool intersectionLineCube(int cubeX, int cubeY, int cubeZ, vect3D lineOrigPoint, vect3D directionVector, float *distance, s8 *face); static void testCubes(std::vector cubes); static Player *player; static Biome *biome; static Cube *selectedCube; private: bool m_cont; Textures m_textures; std::vector m_biomes; }; #endif // SCENE_H