From 37c6cef733cf237ea1a8266a98d4087bd876e18d Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Fri, 9 Feb 2018 12:25:10 +0100 Subject: [PATCH] Move visualiser generation out of main. --- src/main.cpp | 20 +------------------- src/visualisations.cpp | 22 ++++++++++++++++++++++ src/visualisations.hpp | 14 ++++++++++++++ 3 files changed, 37 insertions(+), 19 deletions(-) create mode 100644 src/visualisations.cpp create mode 100644 src/visualisations.hpp diff --git a/src/main.cpp b/src/main.cpp index 1b70b29..573a54d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -11,11 +11,9 @@ #include "glutils.hpp" #include "camera.hpp" #include "LayerVisualisation.hpp" -#include "FlatLayerVisualisation.hpp" -#include "MultiImageVisualisation.hpp" #include "Range.hpp" #include "ActivityAnimation.hpp" -#include "DummyLayerVisualisation.hpp" +#include "visualisations.hpp" using namespace std; using namespace fmri; @@ -103,8 +101,6 @@ static void renderLayerName(const LayerData &data) glTranslatef(0, 0, -10); } -static LayerVisualisation *getVisualisationForLayer(const LayerData &layer); - static void updateVisualisers() { rendererData.layerVisualisations.clear(); @@ -119,20 +115,6 @@ static void updateVisualisers() glutPostRedisplay(); } -LayerVisualisation *getVisualisationForLayer(const LayerData &layer) -{ - switch (layer.shape().size()) { - case 2: - return new FlatLayerVisualisation(layer, FlatLayerVisualisation::Ordering::SQUARE); - - case 4: - return new MultiImageVisualisation(layer); - - default: - return new DummyLayerVisualisation(); - } -} - static void specialKeyFunc(int key, int, int) { switch (key) { diff --git a/src/visualisations.cpp b/src/visualisations.cpp new file mode 100644 index 0000000..be97cde --- /dev/null +++ b/src/visualisations.cpp @@ -0,0 +1,22 @@ +// +// Created by bert on 09/02/18. +// + +#include "visualisations.hpp" +#include "DummyLayerVisualisation.hpp" +#include "MultiImageVisualisation.hpp" +#include "FlatLayerVisualisation.hpp" + +fmri::LayerVisualisation *fmri::getVisualisationForLayer(const fmri::LayerData &layer) +{ + switch (layer.shape().size()) { + case 2: + return new FlatLayerVisualisation(layer, FlatLayerVisualisation::Ordering::SQUARE); + + case 4: + return new MultiImageVisualisation(layer); + + default: + return new DummyLayerVisualisation(); + } +} diff --git a/src/visualisations.hpp b/src/visualisations.hpp new file mode 100644 index 0000000..7ea8f40 --- /dev/null +++ b/src/visualisations.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "LayerVisualisation.hpp" +#include "LayerData.hpp" + +namespace fmri { + /** + * Generate a static visualisation of a layer state. + * + * @param layer + * @return A (possibly empty) visualisation. The caller is responsible for deallocating. + */ + LayerVisualisation* getVisualisationForLayer(const LayerData& layer); +} \ No newline at end of file