From cd5a17986b9852ff163edb2ff1af9afbe74df2d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim=20=C3=9Cbelh=C3=B6r?= <tim.uebelhoer@irt.rwt-aachen.de>
Date: Sun, 3 Mar 2019 15:46:27 +0100
Subject: [PATCH] fixed recalculating the texture dimensions on set

---
 include/scigl_render/render/rasterizer.hpp |  4 ++--
 src/render/rasterizer.cpp                  | 21 ++++++++++++---------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/include/scigl_render/render/rasterizer.hpp b/include/scigl_render/render/rasterizer.hpp
index a30be74..9490613 100644
--- a/include/scigl_render/render/rasterizer.hpp
+++ b/include/scigl_render/render/rasterizer.hpp
@@ -84,8 +84,8 @@ public:
   size_t get_views_per_column() const;
   size_t get_view_width() const;
   size_t get_view_height() const;
-  void set_views_per_row(size_t n_views);
-  void set_views_per_column(size_t n_views);
+  void set_views_per_row(size_t views_per_row);
+  void set_views_per_column(size_t views_per_column);
   void set_view_width(size_t width);
   void set_view_height(size_t height);
 
diff --git a/src/render/rasterizer.cpp b/src/render/rasterizer.cpp
index c80b012..7b62de0 100644
--- a/src/render/rasterizer.cpp
+++ b/src/render/rasterizer.cpp
@@ -10,12 +10,11 @@ Rasterizer::Rasterizer()
 
 Rasterizer::Rasterizer(size_t width, size_t height, size_t views_per_row,
                        size_t views_per_column)
-    : width(width), height(height),
-      views_per_row(views_per_row), views_per_column(views_per_column)
 {
-  // create the offscreen render object
-  texture_width = width * views_per_row;
-  texture_height = height * views_per_column;
+  set_view_width(width);
+  set_view_height(height);
+  set_views_per_row(views_per_row);
+  set_views_per_column(views_per_column);
 }
 
 void Rasterizer::activate_view(size_t row, size_t column)
@@ -72,21 +71,25 @@ size_t Rasterizer::get_view_height() const
 {
   return height;
 }
-void Rasterizer::set_views_per_row(size_t n_views)
+void Rasterizer::set_views_per_row(size_t views_per_row)
 {
-  views_per_row = n_views;
+  this->views_per_row = views_per_row;
+  texture_width = views_per_row * width;
 }
-void Rasterizer::set_views_per_column(size_t n_views)
+void Rasterizer::set_views_per_column(size_t views_per_column)
 {
-  views_per_column = n_views;
+  this->views_per_column = views_per_column;
+  texture_height = views_per_column * height;
 }
 void Rasterizer::set_view_width(size_t width)
 {
   this->width = width;
+  texture_width = views_per_row * width;
 }
 void Rasterizer::set_view_height(size_t height)
 {
   this->height = height;
+  texture_height = views_per_column * height;
 }
 
 Rasterizer::ImageHeader Rasterizer::get_view_image(
-- 
GitLab