From ecaa33e25b42f945fa09dc21b6db53ef330f2cc2 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 24 Feb 2019 13:19:27 +0100 Subject: Move geometry initialization into named function --- src/main.cc | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main.cc b/src/main.cc index 2a3dd9b..aa2456e 100644 --- a/src/main.cc +++ b/src/main.cc @@ -49,6 +49,17 @@ glm::mat4 getMVP(float world_width, float world_height) { return projection * view; } +int setupGeometry(int x, int y) { + if ( x == 0 || y == 0 || x == nX-1 || y == nY-1 ) { + return 0; // disable end of world + } + if ( ((x == 1 || x == nX-2) && (y > 0 && y < nY-1)) + || ((y == 1 || y == nY-2) && (x > 0 && x < nX-1)) ) { + return 2; // bounce back outer walls + } + return 1; // everything else shall be fluid +} + int renderWindow() { Window window("compustream"); @@ -78,16 +89,7 @@ int renderWindow() { lattice_a = std::make_unique(nX, nY); lattice_b = std::make_unique(nX, nY); - fluid = std::make_unique< FluidCellBuffer>(nX, nY, [](int x, int y) -> int { - if ( x == 0 || y == 0 || x == nX-1 || y == nY-1 ) { - return 0; // disable end of world - } - if ( ((x == 1 || x == nX-2) && (y > 0 && y < nY-1)) - || ((y == 1 || y == nY-2) && (x > 0 && x < nX-1)) ) { - return 2; // bounce back outer walls - } - return 1; // everything shall be fluid - }); + fluid = std::make_unique< FluidCellBuffer>(nX, nY, setupGeometry); interact_shader = std::make_unique(INTERACT_SHADER_CODE); collide_shader = std::make_unique(COLLIDE_SHADER_CODE); -- cgit v1.2.3