diff --git a/Makefile b/Makefile index 3b112de..c16c8cb 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ CXX=g++ # -ansi -pedantic -Wconversion +# -Wformat=2 -Winit-self -Wmissing-include-dirs -Wswitch-default -Wsync-nand -Wunused -Wstrict-overflow=5 -Wfloat-equal -Wundef -Wno-endif-labels -Wshadow -Wunsafe-loop-optimizations -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wlogical-op -Wmissing-declarations -Wnormalized=nfc -Wpacked -Wredundant-decls -Winline -Winvalid-pch -Wdisabled-optimization -Woverlength-strings CCWARN=-Wall -Wextra -Werror # TODO : -O3 -m32 ou -m64 # -g -rdynamic uniquement pour le debug. diff --git a/geometry/angle.cpp b/geometry/angle.cpp new file mode 100644 index 0000000..41b1ed7 --- /dev/null +++ b/geometry/angle.cpp @@ -0,0 +1,4 @@ +#include "all_includes.hh" + +float Angle::r2d(float rad) { return rad / Pi * 180; } +float Angle::d2r(float deg) { return deg / 180 * Pi; } diff --git a/geometry/angle.hh b/geometry/angle.hh index f38bea7..19f312c 100644 --- a/geometry/angle.hh +++ b/geometry/angle.hh @@ -4,8 +4,8 @@ namespace Angle { const double dPi = 3.141592653589793238462643383279; const float Pi = (float)(dPi); - float r2d(float rad) { return rad / Pi * 180; } - float d2r(float deg) { return deg / 180 * Pi; } + float r2d(float rad); + float d2r(float deg); } #endif diff --git a/geometry/segment.cpp b/geometry/segment.cpp index e4b745d..8531d51 100644 --- a/geometry/segment.cpp +++ b/geometry/segment.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -Segment::Segment(Vertex u, Vertex v): u(u), v(v) {} +Segment::Segment(Vertex _u, Vertex _v): u(_u), v(_v) {} float Segment::length() { return (u-v).norm(); diff --git a/geometry/vertex.cpp b/geometry/vertex.cpp index efe2c6e..b40b254 100644 --- a/geometry/vertex.cpp +++ b/geometry/vertex.cpp @@ -2,7 +2,7 @@ Vertex::Vertex() {} -Vertex::Vertex(float x, float y, float z): x(x), y(y), z(z) {} +Vertex::Vertex(float _x, float _y, float _z): x(_x), y(_y), z(_z) {} float Vertex::norm() const { return std::sqrt(x*x + y*y + z*z); } diff --git a/gputriangle.cpp b/gputriangle.cpp index 2453b2b..fcab260 100644 --- a/gputriangle.cpp +++ b/gputriangle.cpp @@ -1,16 +1,16 @@ #include "all_includes.hh" -GPUTriangle::GPUTriangle(Vertex left, Vertex top, Vertex right, unsigned char r, unsigned char g, unsigned char b) - : c(left, top, right), r(r), g(g), b(b), vnormal(normal(left,top,right)) { +GPUTriangle::GPUTriangle(Vertex left, Vertex top, Vertex right, unsigned char _r, unsigned char _g, unsigned char _b) + : c(left, top, right), r(_r), g(_g), b(_b), vnormal(normal(left,top,right)) { } -GPUTriangle::GPUTriangle(Triangle c, unsigned char r, unsigned char g, unsigned char b) - : c(c), r(r), g(g), b(b), vnormal(normal(c[LEFT], c[TOP], c[RIGHT])) { +GPUTriangle::GPUTriangle(Triangle _c, unsigned char _r, unsigned char _g, unsigned char _b) + : c(_c), r(_r), g(_g), b(_b), vnormal(normal(c[LEFT], c[TOP], c[RIGHT])) { } Vertex GPUTriangle::normal(Vertex left, Vertex top, Vertex right) { - Vertex normal = (left - top)*(right - top); - return normal / normal.norm(); + Vertex v = (left - top)*(right - top); + return v / v.norm(); } void GPUTriangle::display() { diff --git a/heap.cpp b/heap.cpp index fbb724c..840395a 100644 --- a/heap.cpp +++ b/heap.cpp @@ -3,7 +3,7 @@ Heap::Heap() bucketArraySize(1), lastNode(-1) { } -void Heap::init(int id, int factor) { this->id = id; this->factor = (float)factor; } +void Heap::init(int _id, int _factor) { this->id = _id; this->factor = (float)_factor; } void Heap::insert(float key, Chose* value) { ++lastNode; diff --git a/lod.cpp b/lod.cpp index 3468554..3b10e1b 100644 --- a/lod.cpp +++ b/lod.cpp @@ -1,16 +1,16 @@ #include "all_includes.hh" -Lod::Lod(Vertex camera, Chose* root) { +Lod::Lod(Vertex _camera, Chose* root) { for (int i = 0; i < 6; i++) { merge[i].init(i, (i & 1) ? 1 : -1); splitIn[i].init(6+i, (i & 1) ? 1 : -1); splitOut[i].init(12+i, (i & 1) ? -1 : 1); } - this->camera[0] = camera.x; - this->camera[1] = camera.y; - this->camera[2] = camera.z; + this->camera[0] = _camera.x; + this->camera[1] = _camera.y; + this->camera[2] = _camera.z; addSplitCube(root); - setCamera(camera); + setCamera(_camera); } void Lod::setCamera(Vertex newCamera) { diff --git a/rules/batiment/batimentquad.cpp b/rules/batiment/batimentquad.cpp index 5d6b515..522dcf6 100644 --- a/rules/batiment/batimentquad.cpp +++ b/rules/batiment/batimentquad.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuad::BatimentQuad(Quad c, Cardinal entry) : Chose(), c(c), entry(entry) { +BatimentQuad::BatimentQuad(Quad _c, Cardinal _entry) : Chose(), c(_c), entry(_entry) { addEntropy(c); addEntropy(entry); } diff --git a/rules/batiment/batimentquadblock.cpp b/rules/batiment/batimentquadblock.cpp index 2882bcd..50dc3a9 100644 --- a/rules/batiment/batimentquadblock.cpp +++ b/rules/batiment/batimentquadblock.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuadBlock::BatimentQuadBlock(Quad c, float height) : Chose(), c(c), height(height) { +BatimentQuadBlock::BatimentQuadBlock(Quad _c, float _height) : Chose(), c(_c), height(_height) { addEntropy(c); } diff --git a/rules/batiment/batimentquadfenetre.cpp b/rules/batiment/batimentquadfenetre.cpp index a7f32f7..03a3110 100644 --- a/rules/batiment/batimentquadfenetre.cpp +++ b/rules/batiment/batimentquadfenetre.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuadFenetre::BatimentQuadFenetre(Quad c, float height) : Chose(), c(c), height(height) { +BatimentQuadFenetre::BatimentQuadFenetre(Quad _c, float _height) : Chose(), c(_c), height(_height) { addEntropy(c); } diff --git a/rules/batiment/batimentquadjardin.cpp b/rules/batiment/batimentquadjardin.cpp index 3f40214..581b4e3 100644 --- a/rules/batiment/batimentquadjardin.cpp +++ b/rules/batiment/batimentquadjardin.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuadJardin::BatimentQuadJardin(Quad c) : Chose(), c(c) { +BatimentQuadJardin::BatimentQuadJardin(Quad _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/batiment/batimentquadmaison.cpp b/rules/batiment/batimentquadmaison.cpp index 826c8e8..54408bb 100644 --- a/rules/batiment/batimentquadmaison.cpp +++ b/rules/batiment/batimentquadmaison.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuadMaison::BatimentQuadMaison(Quad c) : Chose(), c(c) { +BatimentQuadMaison::BatimentQuadMaison(Quad _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/batiment/batimentquadmaisonpont.cpp b/rules/batiment/batimentquadmaisonpont.cpp index 55877c3..2cee24a 100644 --- a/rules/batiment/batimentquadmaisonpont.cpp +++ b/rules/batiment/batimentquadmaisonpont.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuadMaisonPont::BatimentQuadMaisonPont(Quad c, float height) : Chose(), c(c), height(height) { +BatimentQuadMaisonPont::BatimentQuadMaisonPont(Quad _c, float _height) : Chose(), c(_c), height(_height) { addEntropy(c); } diff --git a/rules/batiment/batimentquadmur.cpp b/rules/batiment/batimentquadmur.cpp index 4deda99..375652b 100644 --- a/rules/batiment/batimentquadmur.cpp +++ b/rules/batiment/batimentquadmur.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuadMur::BatimentQuadMur(Quad c, float height) : Chose(), c(c), height(height) { +BatimentQuadMur::BatimentQuadMur(Quad _c, float _height) : Chose(), c(_c), height(_height) { addEntropy(c); this->window = false; } diff --git a/rules/batiment/batimentquadpont.cpp b/rules/batiment/batimentquadpont.cpp index 8d487c1..5f0b1a6 100644 --- a/rules/batiment/batimentquadpont.cpp +++ b/rules/batiment/batimentquadpont.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuadPont::BatimentQuadPont(Quad c, float height) : Chose(), c(c), height(height) { +BatimentQuadPont::BatimentQuadPont(Quad _c, float _height) : Chose(), c(_c), height(_height) { addEntropy(c); } @@ -9,12 +9,12 @@ void BatimentQuadPont::getBoundingBoxPoints() { addBBPoints(c + Vertex(0,0,height)); // TODO } -float ct(float x) { +float BatimentQuadPont::ct(float x) { return (float)(1 - cosh(x / 1.f)); } -float nt(float x, float height) { - return (ct(x) + -ct(-1.7f))/(ct(0)+ -ct(-1.7f)) * height; +float BatimentQuadPont::nt(float x, float _height) { + return (ct(x) + -ct(-1.7f))/(ct(0)+ -ct(-1.7f)) * _height; } void BatimentQuadPont::triangulation() { diff --git a/rules/batiment/batimentquadpont.hh b/rules/batiment/batimentquadpont.hh index f423f00..cc5aade 100644 --- a/rules/batiment/batimentquadpont.hh +++ b/rules/batiment/batimentquadpont.hh @@ -5,14 +5,17 @@ class BatimentQuadPont: public Chose { - private : +private : Quad c; float height; - public : +public : BatimentQuadPont(Quad c, float height); virtual void triangulation(); virtual void getBoundingBoxPoints(); +private: + float ct(float x); + float nt(float x, float height); }; #endif diff --git a/rules/batiment/batimentquadtoit.cpp b/rules/batiment/batimentquadtoit.cpp index 3f81560..b2d31cd 100644 --- a/rules/batiment/batimentquadtoit.cpp +++ b/rules/batiment/batimentquadtoit.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentQuadToit::BatimentQuadToit(Quad c, float height) : Chose(), c(c), height(height) { +BatimentQuadToit::BatimentQuadToit(Quad _c, float _height) : Chose(), c(_c), height(_height) { addEntropy(c); } diff --git a/rules/batiment/batimenttri.cpp b/rules/batiment/batimenttri.cpp index d4593fe..f91df40 100644 --- a/rules/batiment/batimenttri.cpp +++ b/rules/batiment/batimenttri.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -BatimentTri::BatimentTri(Triangle c) : Chose(), c(c) { +BatimentTri::BatimentTri(Triangle _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/quartier/quartierquad.cpp b/rules/quartier/quartierquad.cpp index 974a9ab..874d6f6 100644 --- a/rules/quartier/quartierquad.cpp +++ b/rules/quartier/quartierquad.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -QuartierQuad::QuartierQuad(Quad c) : Chose(), c(c) { +QuartierQuad::QuartierQuad(Quad _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/quartier/quartierquadangle.cpp b/rules/quartier/quartierquadangle.cpp index 3f5d404..0b41a13 100644 --- a/rules/quartier/quartierquadangle.cpp +++ b/rules/quartier/quartierquadangle.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -QuartierQuadAngle::QuartierQuadAngle(Quad c) : QuartierQuad(c) { +QuartierQuadAngle::QuartierQuadAngle(Quad _c) : QuartierQuad(_c) { } bool QuartierQuadAngle::split() { diff --git a/rules/quartier/quartierquadcarre.cpp b/rules/quartier/quartierquadcarre.cpp index 9033655..5d20735 100644 --- a/rules/quartier/quartierquadcarre.cpp +++ b/rules/quartier/quartierquadcarre.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -QuartierQuadCarre::QuartierQuadCarre(Quad c) : QuartierQuad(c) { +QuartierQuadCarre::QuartierQuadCarre(Quad _c) : QuartierQuad(_c) { } bool QuartierQuadCarre::split() { diff --git a/rules/quartier/quartierquadrect.cpp b/rules/quartier/quartierquadrect.cpp index 3a3f5e5..25f702a 100644 --- a/rules/quartier/quartierquadrect.cpp +++ b/rules/quartier/quartierquadrect.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -QuartierQuadRect::QuartierQuadRect(Quad c) : QuartierQuad(c) { +QuartierQuadRect::QuartierQuadRect(Quad _c) : QuartierQuad(_c) { } bool QuartierQuadRect::split() { diff --git a/rules/quartier/quartiertri.cpp b/rules/quartier/quartiertri.cpp index 6f164b2..1abe230 100644 --- a/rules/quartier/quartiertri.cpp +++ b/rules/quartier/quartiertri.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -QuartierTri::QuartierTri(Triangle c) : Chose(), c(c) { +QuartierTri::QuartierTri(Triangle _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/quartier/quartiertricentre.cpp b/rules/quartier/quartiertricentre.cpp index 07c33bd..7e4926e 100644 --- a/rules/quartier/quartiertricentre.cpp +++ b/rules/quartier/quartiertricentre.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -QuartierTriCentre::QuartierTriCentre(Triangle c) : QuartierTri(c) { +QuartierTriCentre::QuartierTriCentre(Triangle _c) : QuartierTri(_c) { } bool QuartierTriCentre::split() { diff --git a/rules/quartier/quartiertrihauteur.cpp b/rules/quartier/quartiertrihauteur.cpp index d1b265e..fd01b24 100644 --- a/rules/quartier/quartiertrihauteur.cpp +++ b/rules/quartier/quartiertrihauteur.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -QuartierTriHauteur::QuartierTriHauteur(Triangle c) : QuartierTri(c) { +QuartierTriHauteur::QuartierTriHauteur(Triangle _c) : QuartierTri(_c) { } bool QuartierTriHauteur::split() { diff --git a/rules/quartier/quartiertritrapeze.cpp b/rules/quartier/quartiertritrapeze.cpp index a78c2b5..1b4590c 100644 --- a/rules/quartier/quartiertritrapeze.cpp +++ b/rules/quartier/quartiertritrapeze.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -QuartierTriTrapeze::QuartierTriTrapeze(Triangle c) : QuartierTri(c) { +QuartierTriTrapeze::QuartierTriTrapeze(Triangle _c) : QuartierTri(_c) { } bool QuartierTriTrapeze::split() { diff --git a/rules/route/routequadcarrefour.cpp b/rules/route/routequadcarrefour.cpp index 4596bd8..35ab4f1 100644 --- a/rules/route/routequadcarrefour.cpp +++ b/rules/route/routequadcarrefour.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -RouteQuadCarrefour::RouteQuadCarrefour(Quad c) : Chose(), c(c) { +RouteQuadCarrefour::RouteQuadCarrefour(Quad _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/route/routequadchaussee.cpp b/rules/route/routequadchaussee.cpp index 9f176dd..3fc5a08 100644 --- a/rules/route/routequadchaussee.cpp +++ b/rules/route/routequadchaussee.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -RouteQuadChaussee::RouteQuadChaussee(Quad c) : Chose(), c(c) { +RouteQuadChaussee::RouteQuadChaussee(Quad _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/route/routetrichaussee.cpp b/rules/route/routetrichaussee.cpp index 1555ab2..3411b45 100644 --- a/rules/route/routetrichaussee.cpp +++ b/rules/route/routetrichaussee.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -RouteTriChaussee::RouteTriChaussee(Triangle c) : Chose(), c(c) { +RouteTriChaussee::RouteTriChaussee(Triangle _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/route/trottoirquadnormal.cpp b/rules/route/trottoirquadnormal.cpp index b1ca0e7..d952053 100644 --- a/rules/route/trottoirquadnormal.cpp +++ b/rules/route/trottoirquadnormal.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -TrottoirQuadNormal::TrottoirQuadNormal(Quad c, float height) : Chose(), c(c), height(height) { +TrottoirQuadNormal::TrottoirQuadNormal(Quad _c, float _height) : Chose(), c(_c), height(_height) { } void TrottoirQuadNormal::getBoundingBoxPoints() { diff --git a/rules/terrain/terrainquadherbe.cpp b/rules/terrain/terrainquadherbe.cpp index e2b81ca..7484836 100644 --- a/rules/terrain/terrainquadherbe.cpp +++ b/rules/terrain/terrainquadherbe.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -TerrainQuadHerbe::TerrainQuadHerbe(Quad c) : Chose(), c(c) { +TerrainQuadHerbe::TerrainQuadHerbe(Quad _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/rules/terrain/terraintriherbe.cpp b/rules/terrain/terraintriherbe.cpp index ed3bdab..3db41ba 100644 --- a/rules/terrain/terraintriherbe.cpp +++ b/rules/terrain/terraintriherbe.cpp @@ -1,6 +1,6 @@ #include "all_includes.hh" -TerrainTriHerbe::TerrainTriHerbe(Triangle c) : Chose(), c(c) { +TerrainTriHerbe::TerrainTriHerbe(Triangle _c) : Chose(), c(_c) { addEntropy(c); } diff --git a/view.cpp b/view.cpp index 9b1fef3..ffe1fd1 100644 --- a/view.cpp +++ b/view.cpp @@ -1,9 +1,9 @@ #include "all_includes.hh" -View::View(Chose* root) - : root(root), +View::View(Chose* _root) + : root(_root), camera(Camera(Vertex(9600,10000,15300),0,179,1000,0.6f)), - lod(camera.cameraCenter, root) { + lod(camera.cameraCenter, _root) { initWindow(); mainLoop(); } @@ -145,13 +145,13 @@ void View::mainLoop() { SDL_Quit(); } -Camera::Camera(Vertex pos, float xA, float yA, int moveSensitivity, float mouseSensitivity) - : cameraCenter(pos), - cameraSight(cameraCenter + Vertex::fromSpherical(100,yA,xA)), - xAngle(xA), - yAngle(yA), - moveDist(moveSensitivity), - mouseSensitivity(mouseSensitivity), +Camera::Camera(Vertex _cameraCenter, float _xAngle, float _yAngle, int _moveSensitivity, float _mouseSensitivity) + : cameraCenter(_cameraCenter), + cameraSight(cameraCenter + Vertex::fromSpherical(100,_yAngle,_xAngle)), + xAngle(_xAngle), + yAngle(_yAngle), + moveSensitivity(_moveSensitivity), + mouseSensitivity(_mouseSensitivity), up(false), down(false), left(false), right(false), pageUp(false), pageDown(false) { @@ -207,11 +207,11 @@ void Camera::keyboard(const SDL_KeyboardEvent &eventKey) { break; case 's': if (eventKey.type != SDL_KEYDOWN) break; - moveDist = std::min(50000,std::max(moveDist+1, moveDist*10/9)); + moveSensitivity = std::min(50000,std::max(moveSensitivity+1, moveSensitivity*10/9)); break; case 'x': if (eventKey.type != SDL_KEYDOWN) break; - moveDist = std::max(10, moveDist*9/10); + moveSensitivity = std::max(10, moveSensitivity*9/10); break; case 'p': // _Print _Position if (eventKey.type != SDL_KEYDOWN) break; @@ -225,7 +225,7 @@ void Camera::keyboard(const SDL_KeyboardEvent &eventKey) { } void Camera::animation(int elapsedTime) { - float diff = ((float)(elapsedTime+1)/1000.f)*(float)moveDist; + float diff = ((float)(elapsedTime+1)/1000.f)*(float)moveSensitivity; if(up) cameraCenter = cameraCenter + Vertex::fromSpherical(diff, yAngle, xAngle); diff --git a/view.hh b/view.hh index 78b6df7..961a593 100644 --- a/view.hh +++ b/view.hh @@ -17,7 +17,7 @@ class Camera { private : float xAngle; float yAngle; - int moveDist; + int moveSensitivity; float mouseSensitivity; bool up; bool down;