| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- | ||
| 2 | // vi: set et ts=4 sw=4 sts=4: | ||
| 3 | // | ||
| 4 | // SPDX-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder | ||
| 5 | // SPDX-License-Identifier: GPL-3.0-or-later | ||
| 6 | // | ||
| 7 | /*! | ||
| 8 | * \file | ||
| 9 | * \ingroup InputOutput | ||
| 10 | * \brief Interface for passing data sets to a file and plotting them, if gnuplot | ||
| 11 | * is installed. | ||
| 12 | * | ||
| 13 | * The data sets for a specific window have to be passed by the addDataSet function | ||
| 14 | * and then plotted by using the plot function. | ||
| 15 | */ | ||
| 16 | #ifndef DUMUX_GNUPLOT_INTERFACE_HH | ||
| 17 | #define DUMUX_GNUPLOT_INTERFACE_HH | ||
| 18 | |||
| 19 | #if !DUMUX_HAVE_GNUPLOT | ||
| 20 | // Gnuplot has not been found by CMake, no output possible. | ||
| 21 | #define GNUPLOT_EXECUTABLE "/usr/bin/gnuplot" | ||
| 22 | #endif | ||
| 23 | |||
| 24 | #include <cassert> | ||
| 25 | #include <cmath> | ||
| 26 | #include <fstream> | ||
| 27 | #include <iostream> | ||
| 28 | #include <iomanip> | ||
| 29 | #include <sstream> | ||
| 30 | #include <string> | ||
| 31 | #include <vector> | ||
| 32 | |||
| 33 | #include <dune/common/exceptions.hh> | ||
| 34 | #include <dune/common/stdstreams.hh> | ||
| 35 | |||
| 36 | namespace Dumux { | ||
| 37 | |||
| 38 | /*! | ||
| 39 | * \ingroup InputOutput | ||
| 40 | * \brief Interface for passing data sets to a file and plotting them, if gnuplot | ||
| 41 | * is installed. | ||
| 42 | */ | ||
| 43 | template<class Scalar> | ||
| 44 | class GnuplotInterface | ||
| 45 | { | ||
| 46 | public: | ||
| 47 | using StringVector = std::vector<std::string>; | ||
| 48 | enum class CurveType | ||
| 49 | { function, file, data }; | ||
| 50 | using CurveTypeVector = std::vector<CurveType>; | ||
| 51 | |||
| 52 | //! \brief The constructor | ||
| 53 | 165 | explicit GnuplotInterface(bool persist = true) : | |
| 54 | 165 | pipeInteractive_(0), pipeImage_(0), | |
| 55 | 165 | openPlotWindow_(true), persist_(persist), createImage_(true), | |
| 56 |
1/2✓ Branch 2 taken 165 times.
✗ Branch 3 not taken.
|
165 | terminalType_("x11"), outputDirectory_("./"), |
| 57 |
1/2✓ Branch 1 taken 165 times.
✗ Branch 2 not taken.
|
165 | datafileSeparator_(' '), linetype_("solid"), |
| 58 | 165 | xRangeIsSet_(false), yRangeIsSet_(false), | |
| 59 |
2/4✓ Branch 1 taken 165 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 165 times.
✗ Branch 5 not taken.
|
165 | xLabel_(""), yLabel_(""), |
| 60 |
2/4✓ Branch 1 taken 165 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 165 times.
✗ Branch 5 not taken.
|
330 | gnuplotPath_(GNUPLOT_EXECUTABLE) |
| 61 | { | ||
| 62 |
1/2✓ Branch 1 taken 165 times.
✗ Branch 2 not taken.
|
165 | open(persist_); |
| 63 |
1/2✓ Branch 1 taken 165 times.
✗ Branch 2 not taken.
|
165 | resetPlot(); |
| 64 | 165 | } | |
| 65 | |||
| 66 | //! \brief The destructor | ||
| 67 | 164 | ~GnuplotInterface() | |
| 68 | { | ||
| 69 | 164 | close(); | |
| 70 | 165 | } | |
| 71 | |||
| 72 | /*! | ||
| 73 | * \brief Plots the files for a specific window number, writes a gnuplot and png file. | ||
| 74 | * | ||
| 75 | * \param filename The name of the output file | ||
| 76 | */ | ||
| 77 | 1308 | void plot(const std::string &filename = "") | |
| 78 | { | ||
| 79 | // set correct terminal and general options | ||
| 80 |
2/4✓ Branch 2 taken 1308 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1308 times.
✗ Branch 6 not taken.
|
3924 | std::string plot = "set datafile separator \'" + std::string(1, datafileSeparator_) + "\'\n"; |
| 81 | |||
| 82 | // set the labels and axes ranges | ||
| 83 |
2/4✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1308 times.
✗ Branch 5 not taken.
|
3924 | plot += "set xlabel \"" + xLabel_ + "\"\n"; |
| 84 |
2/4✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1308 times.
✗ Branch 5 not taken.
|
3924 | plot += "set ylabel \"" + yLabel_ + "\"\n"; |
| 85 |
2/2✓ Branch 0 taken 1060 times.
✓ Branch 1 taken 248 times.
|
1308 | if (xRangeIsSet_) |
| 86 |
6/12✓ Branch 1 taken 1060 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1060 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1060 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1060 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1060 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1060 times.
✗ Branch 17 not taken.
|
6360 | plot += "set xrange [" + toStringWithPrecision(xRangeMin_) + ":" + toStringWithPrecision(xRangeMax_) + "]" + "\n"; |
| 87 |
2/2✓ Branch 0 taken 129 times.
✓ Branch 1 taken 1179 times.
|
1308 | if (yRangeIsSet_) |
| 88 |
6/12✓ Branch 1 taken 129 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 129 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 129 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 129 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 129 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 129 times.
✗ Branch 17 not taken.
|
774 | plot += "set yrange [" + toStringWithPrecision(yRangeMin_) + ":" + toStringWithPrecision(yRangeMax_) + "]" + "\n"; |
| 89 | |||
| 90 | // set user defined options | ||
| 91 |
2/4✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1308 times.
✗ Branch 6 not taken.
|
2616 | plot += plotOptions_ + "\n"; |
| 92 | |||
| 93 | // plot curves | ||
| 94 |
1/2✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
|
1308 | plot += "plot"; |
| 95 | 4080 | std::string plotCommandForFile(plot); | |
| 96 |
2/2✓ Branch 0 taken 2772 times.
✓ Branch 1 taken 1308 times.
|
4080 | for (unsigned int i = 0; i < curve_.size(); ++i) |
| 97 | { | ||
| 98 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2771 times.
|
2772 | if (curveType_[i] == CurveType::function) |
| 99 | { | ||
| 100 |
3/6✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
|
4 | plot += + " " + curve_[i] + " " + curveOptions_[i]; |
| 101 |
3/6✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
|
4 | plotCommandForFile += + " " + curve_[i] + " " + curveOptions_[i]; |
| 102 | } | ||
| 103 | else | ||
| 104 | { | ||
| 105 |
4/8✓ Branch 1 taken 2771 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2771 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2771 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2771 times.
✗ Branch 11 not taken.
|
13855 | plot += + " '" + outputDirectory_ + curve_[i] + "' " + curveOptions_[i]; |
| 106 |
3/6✓ Branch 1 taken 2771 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2771 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2771 times.
✗ Branch 8 not taken.
|
11084 | plotCommandForFile += + " '" + curve_[i] + "' " + curveOptions_[i]; |
| 107 | } | ||
| 108 | |||
| 109 |
2/2✓ Branch 0 taken 1464 times.
✓ Branch 1 taken 1308 times.
|
2772 | if (i < curve_.size()-1) |
| 110 | { | ||
| 111 |
1/2✓ Branch 1 taken 1464 times.
✗ Branch 2 not taken.
|
1464 | plot += ",\\"; |
| 112 |
1/2✓ Branch 1 taken 2772 times.
✗ Branch 2 not taken.
|
2772 | plotCommandForFile += ",\\"; |
| 113 | } | ||
| 114 |
1/2✓ Branch 1 taken 2772 times.
✗ Branch 2 not taken.
|
2772 | plot += "\n"; |
| 115 | 2772 | plotCommandForFile += "\n"; | |
| 116 | } | ||
| 117 | |||
| 118 | // initialize the interactive plot | ||
| 119 |
1/2✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
|
1308 | std::string interactivePlot = "reset\n"; |
| 120 | |||
| 121 | // set the terminal if the defaults were overwritten | ||
| 122 |
2/4✓ Branch 0 taken 1308 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1308 times.
|
1308 | if (terminalType_.compare("x11") != 0 || linetype_.compare("solid") != 0) |
| 123 | ✗ | interactivePlot += "set term " + terminalType_ + " " + linetype_ + " " + " \n"; | |
| 124 | |||
| 125 | // add the plot command and plot | ||
| 126 | 1308 | interactivePlot += plot; | |
| 127 |
2/2✓ Branch 0 taken 11 times.
✓ Branch 1 taken 1297 times.
|
1308 | if (openPlotWindow_) |
| 128 |
1/2✓ Branch 1 taken 11 times.
✗ Branch 2 not taken.
|
11 | executeGnuplot(interactivePlot, pipeInteractive_); |
| 129 | |||
| 130 | // create a gnuplot file if a filename is specified | ||
| 131 |
1/2✓ Branch 0 taken 1308 times.
✗ Branch 1 not taken.
|
1308 | if (filename.compare("") != 0) |
| 132 | { | ||
| 133 |
1/2✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
|
1308 | std::string filePlot = "reset\n"; |
| 134 |
2/4✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1308 times.
✗ Branch 5 not taken.
|
3924 | filePlot += "set term pngcairo size 800,600 " + linetype_ + " \n"; |
| 135 |
3/6✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1308 times.
✗ Branch 5 not taken.
✓ Branch 9 taken 1308 times.
✗ Branch 10 not taken.
|
3924 | filePlot += "set output \"" + filename + ".png\"\n"; |
| 136 | 1308 | filePlot += plot; | |
| 137 |
2/4✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1308 times.
✗ Branch 5 not taken.
|
2616 | std::string gnuplotFileName = outputDirectory_ + filename + ".gp"; |
| 138 |
1/2✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
|
1308 | std::ofstream file; |
| 139 |
1/2✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
|
1308 | file.open(gnuplotFileName); |
| 140 | 1308 | file << filePlot; | |
| 141 |
1/2✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
|
1308 | file.close(); |
| 142 | |||
| 143 | // create the image if desired | ||
| 144 |
1/2✓ Branch 0 taken 1308 times.
✗ Branch 1 not taken.
|
1308 | if (createImage_) |
| 145 |
1/2✓ Branch 1 taken 1308 times.
✗ Branch 2 not taken.
|
1308 | executeGnuplot(filePlot, pipeImage_); |
| 146 | 1308 | } | |
| 147 | 1308 | } | |
| 148 | |||
| 149 | /*! | ||
| 150 | * \brief Resets all gnuplot parameters | ||
| 151 | */ | ||
| 152 | 7 | void resetAll(const bool persist = true) | |
| 153 | { | ||
| 154 | 7 | close(); | |
| 155 | 7 | open(persist); | |
| 156 | 7 | resetPlot(); | |
| 157 | 7 | } | |
| 158 | |||
| 159 | /*! | ||
| 160 | * \brief Deletes all plots from a plotting window and resets user-defined options | ||
| 161 | */ | ||
| 162 | 1334 | void resetPlot() | |
| 163 | { | ||
| 164 |
2/2✓ Branch 0 taken 1158 times.
✓ Branch 1 taken 176 times.
|
1334 | curve_.clear(); |
| 165 |
2/2✓ Branch 0 taken 1158 times.
✓ Branch 1 taken 176 times.
|
1334 | curveOptions_.clear(); |
| 166 | 1334 | plotOptions_ = ""; | |
| 167 | 1334 | } | |
| 168 | |||
| 169 | /*! | ||
| 170 | * \brief Opens gnuplot | ||
| 171 | */ | ||
| 172 | 172 | void open(const bool persist = true) | |
| 173 | { | ||
| 174 |
2/2✓ Branch 0 taken 143 times.
✓ Branch 1 taken 29 times.
|
172 | if (persist) |
| 175 |
1/2✓ Branch 2 taken 143 times.
✗ Branch 3 not taken.
|
143 | pipeInteractive_ = popen((gnuplotPath_ + " -persist").c_str(), "w"); // "w" - writing |
| 176 | else | ||
| 177 | 29 | pipeInteractive_ = popen((gnuplotPath_).c_str(), "w"); | |
| 178 | |||
| 179 | // the image pipe should not persist | ||
| 180 | 172 | pipeImage_ = popen((gnuplotPath_).c_str(), "w"); | |
| 181 | 172 | } | |
| 182 | |||
| 183 | /*! | ||
| 184 | * \brief Closes gnuplot | ||
| 185 | */ | ||
| 186 | 171 | void close() | |
| 187 | { | ||
| 188 |
1/2✓ Branch 1 taken 171 times.
✗ Branch 2 not taken.
|
171 | if (pclose(pipeInteractive_) == -1 || pclose(pipeImage_) == -1) |
| 189 | assert("Could not close pipe to Gnuplot!"); | ||
| 190 | 171 | } | |
| 191 | |||
| 192 | /*! | ||
| 193 | * \brief Adds a function to list of plots | ||
| 194 | * | ||
| 195 | * \param function Function to be plotted | ||
| 196 | * \param options Specific gnuplot options passed to this plot | ||
| 197 | */ | ||
| 198 | 1 | void addFunctionToPlot(const std::string& function, | |
| 199 | const std::string& options = "with lines") | ||
| 200 | { | ||
| 201 | 1 | curve_.push_back(function); | |
| 202 | 1 | curveOptions_.push_back(options); | |
| 203 | 1 | curveType_.push_back(CurveType::function); | |
| 204 | 1 | } | |
| 205 | |||
| 206 | /*! | ||
| 207 | * \brief Adds a file to list of plots | ||
| 208 | * | ||
| 209 | * \param fileName Name and path of the file to be plotted | ||
| 210 | * \param options Specific gnuplot options passed to this plot | ||
| 211 | */ | ||
| 212 | 1 | void addFileToPlot(const std::string& fileName, | |
| 213 | const std::string& options = "with lines") | ||
| 214 | { | ||
| 215 | 1 | curve_.push_back(fileName); | |
| 216 | 1 | curveOptions_.push_back(options); | |
| 217 | 1 | curveType_.push_back(CurveType::file); | |
| 218 | 1 | } | |
| 219 | |||
| 220 | /*! | ||
| 221 | * \brief Adds a data set and writes a data file | ||
| 222 | * | ||
| 223 | * The title of the plot can be changed by setting the title in the options | ||
| 224 | * | ||
| 225 | * \param x Vector containing the x-axis data points | ||
| 226 | * \param y Vector containing the y-axis data points | ||
| 227 | * \param fileName The name of the written data file | ||
| 228 | * \param options Specific gnuplot options passed to this plot | ||
| 229 | */ | ||
| 230 | template<class DataX, class DataY> | ||
| 231 |
1/2✓ Branch 0 taken 2755 times.
✗ Branch 1 not taken.
|
2755 | void addDataSetToPlot(const DataX& x, const DataY& y, |
| 232 | const std::string& fileName, | ||
| 233 | const std::string& options = "with lines") | ||
| 234 | { | ||
| 235 |
2/4✓ Branch 0 taken 2755 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2755 times.
|
2755 | if (x.size() == 0 || y.size() == 0) |
| 236 | ✗ | DUNE_THROW(Dune::InvalidStateException, "Data vectors have to contain data!"); | |
| 237 | |||
| 238 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 2755 times.
|
2755 | if (x.size() > y.size()) |
| 239 | ✗ | DUNE_THROW(Dune::InvalidStateException, "Non-matching data field sizes!"); | |
| 240 | |||
| 241 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 2755 times.
|
2755 | if (x.size() != y.size()) |
| 242 | std::cout << "GnuplotInterface warning: Added data fields of different size! " | ||
| 243 | ✗ | << "Only plotting the first " << x.size() << " elements.\n"; | |
| 244 | |||
| 245 | // write data to file | ||
| 246 | 2755 | std::ofstream file; | |
| 247 |
2/4✓ Branch 1 taken 2755 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2755 times.
✗ Branch 5 not taken.
|
2755 | file.open(outputDirectory_ + fileName); |
| 248 |
2/2✓ Branch 0 taken 505429 times.
✓ Branch 1 taken 2755 times.
|
508184 | for (unsigned int i = 0; i < x.size(); i++) |
| 249 | { | ||
| 250 |
4/8✓ Branch 2 taken 505429 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 505429 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 505429 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 505429 times.
✗ Branch 12 not taken.
|
2527145 | checkNumber(x[i], "x[i] i=" + std::to_string(i) + " in " + fileName); |
| 251 |
4/8✓ Branch 2 taken 505429 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 505429 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 505429 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 505429 times.
✗ Branch 12 not taken.
|
2527145 | checkNumber(y[i], "y[i] i=" + std::to_string(i) + " in " + fileName); |
| 252 |
4/8✓ Branch 1 taken 505429 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 505429 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 505429 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 505429 times.
✗ Branch 11 not taken.
|
505429 | file << x[i] << datafileSeparator_ << y[i] << std::endl; |
| 253 | } | ||
| 254 |
1/2✓ Branch 1 taken 2755 times.
✗ Branch 2 not taken.
|
2755 | file.close(); |
| 255 | |||
| 256 | // adding file to list of plotted lines | ||
| 257 |
1/2✓ Branch 1 taken 2755 times.
✗ Branch 2 not taken.
|
2755 | curve_.push_back(fileName); |
| 258 |
1/2✓ Branch 1 taken 2755 times.
✗ Branch 2 not taken.
|
2755 | curveOptions_.push_back(options); |
| 259 |
1/2✓ Branch 1 taken 2755 times.
✗ Branch 2 not taken.
|
2755 | curveType_.push_back(CurveType::data); |
| 260 | 2755 | } | |
| 261 | |||
| 262 | /*! | ||
| 263 | * \brief Sets the label for the x-axis | ||
| 264 | * | ||
| 265 | * \param label The label of the x-axis | ||
| 266 | */ | ||
| 267 | 1286 | void setXlabel(const std::string& label) | |
| 268 | { | ||
| 269 |
119/238✓ Branch 1 taken 1154 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 6 times.
✗ Branch 6 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 21 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 29 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 53 taken 1 times.
✗ Branch 54 not taken.
✓ Branch 57 taken 1 times.
✗ Branch 58 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 65 taken 1 times.
✗ Branch 66 not taken.
✓ Branch 69 taken 1 times.
✗ Branch 70 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 81 taken 1 times.
✗ Branch 82 not taken.
✓ Branch 85 taken 1 times.
✗ Branch 86 not taken.
✓ Branch 89 taken 1 times.
✗ Branch 90 not taken.
✓ Branch 93 taken 1 times.
✗ Branch 94 not taken.
✓ Branch 97 taken 1 times.
✗ Branch 98 not taken.
✓ Branch 101 taken 1 times.
✗ Branch 102 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 109 taken 1 times.
✗ Branch 110 not taken.
✓ Branch 113 taken 1 times.
✗ Branch 114 not taken.
✓ Branch 117 taken 1 times.
✗ Branch 118 not taken.
✓ Branch 121 taken 1 times.
✗ Branch 122 not taken.
✓ Branch 125 taken 1 times.
✗ Branch 126 not taken.
✓ Branch 129 taken 1 times.
✗ Branch 130 not taken.
✓ Branch 133 taken 1 times.
✗ Branch 134 not taken.
✓ Branch 137 taken 1 times.
✗ Branch 138 not taken.
✓ Branch 141 taken 1 times.
✗ Branch 142 not taken.
✓ Branch 145 taken 1 times.
✗ Branch 146 not taken.
✓ Branch 149 taken 1 times.
✗ Branch 150 not taken.
✓ Branch 153 taken 1 times.
✗ Branch 154 not taken.
✓ Branch 157 taken 1 times.
✗ Branch 158 not taken.
✓ Branch 161 taken 1 times.
✗ Branch 162 not taken.
✓ Branch 165 taken 1 times.
✗ Branch 166 not taken.
✓ Branch 169 taken 1 times.
✗ Branch 170 not taken.
✓ Branch 173 taken 1 times.
✗ Branch 174 not taken.
✓ Branch 177 taken 1 times.
✗ Branch 178 not taken.
✓ Branch 181 taken 1 times.
✗ Branch 182 not taken.
✓ Branch 185 taken 1 times.
✗ Branch 186 not taken.
✓ Branch 189 taken 1 times.
✗ Branch 190 not taken.
✓ Branch 193 taken 1 times.
✗ Branch 194 not taken.
✓ Branch 197 taken 1 times.
✗ Branch 198 not taken.
✓ Branch 201 taken 1 times.
✗ Branch 202 not taken.
✓ Branch 205 taken 1 times.
✗ Branch 206 not taken.
✓ Branch 209 taken 1 times.
✗ Branch 210 not taken.
✓ Branch 213 taken 1 times.
✗ Branch 214 not taken.
✓ Branch 217 taken 1 times.
✗ Branch 218 not taken.
✓ Branch 221 taken 1 times.
✗ Branch 222 not taken.
✓ Branch 225 taken 1 times.
✗ Branch 226 not taken.
✓ Branch 229 taken 1 times.
✗ Branch 230 not taken.
✓ Branch 233 taken 1 times.
✗ Branch 234 not taken.
✓ Branch 237 taken 1 times.
✗ Branch 238 not taken.
✓ Branch 241 taken 1 times.
✗ Branch 242 not taken.
✓ Branch 245 taken 1 times.
✗ Branch 246 not taken.
✓ Branch 249 taken 1 times.
✗ Branch 250 not taken.
✓ Branch 253 taken 1 times.
✗ Branch 254 not taken.
✓ Branch 257 taken 1 times.
✗ Branch 258 not taken.
✓ Branch 261 taken 1 times.
✗ Branch 262 not taken.
✓ Branch 265 taken 1 times.
✗ Branch 266 not taken.
✓ Branch 269 taken 1 times.
✗ Branch 270 not taken.
✓ Branch 273 taken 1 times.
✗ Branch 274 not taken.
✓ Branch 277 taken 1 times.
✗ Branch 278 not taken.
✓ Branch 281 taken 1 times.
✗ Branch 282 not taken.
✓ Branch 285 taken 1 times.
✗ Branch 286 not taken.
✓ Branch 289 taken 1 times.
✗ Branch 290 not taken.
✓ Branch 293 taken 1 times.
✗ Branch 294 not taken.
✓ Branch 297 taken 1 times.
✗ Branch 298 not taken.
✓ Branch 301 taken 1 times.
✗ Branch 302 not taken.
✓ Branch 305 taken 1 times.
✗ Branch 306 not taken.
✓ Branch 309 taken 1 times.
✗ Branch 310 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 317 taken 1 times.
✗ Branch 318 not taken.
✓ Branch 321 taken 1 times.
✗ Branch 322 not taken.
✓ Branch 325 taken 1 times.
✗ Branch 326 not taken.
✓ Branch 329 taken 1 times.
✗ Branch 330 not taken.
✓ Branch 333 taken 1 times.
✗ Branch 334 not taken.
✓ Branch 337 taken 1 times.
✗ Branch 338 not taken.
✓ Branch 341 taken 1 times.
✗ Branch 342 not taken.
✓ Branch 345 taken 1 times.
✗ Branch 346 not taken.
✓ Branch 349 taken 1 times.
✗ Branch 350 not taken.
✓ Branch 353 taken 1 times.
✗ Branch 354 not taken.
✓ Branch 357 taken 1 times.
✗ Branch 358 not taken.
✓ Branch 361 taken 1 times.
✗ Branch 362 not taken.
✓ Branch 365 taken 1 times.
✗ Branch 366 not taken.
✓ Branch 369 taken 1 times.
✗ Branch 370 not taken.
✓ Branch 373 taken 1 times.
✗ Branch 374 not taken.
✓ Branch 377 taken 1 times.
✗ Branch 378 not taken.
✓ Branch 381 taken 1 times.
✗ Branch 382 not taken.
✓ Branch 385 taken 1 times.
✗ Branch 386 not taken.
✓ Branch 389 taken 1 times.
✗ Branch 390 not taken.
✓ Branch 393 taken 1 times.
✗ Branch 394 not taken.
✓ Branch 397 taken 1 times.
✗ Branch 398 not taken.
✓ Branch 401 taken 1 times.
✗ Branch 402 not taken.
✓ Branch 405 taken 1 times.
✗ Branch 406 not taken.
✓ Branch 409 taken 1 times.
✗ Branch 410 not taken.
✓ Branch 413 taken 1 times.
✗ Branch 414 not taken.
✓ Branch 417 taken 1 times.
✗ Branch 418 not taken.
✓ Branch 421 taken 1 times.
✗ Branch 422 not taken.
✓ Branch 425 taken 1 times.
✗ Branch 426 not taken.
✓ Branch 429 taken 1 times.
✗ Branch 430 not taken.
✓ Branch 433 taken 1 times.
✗ Branch 434 not taken.
✓ Branch 437 taken 1 times.
✗ Branch 438 not taken.
✓ Branch 441 taken 1 times.
✗ Branch 442 not taken.
✓ Branch 445 taken 1 times.
✗ Branch 446 not taken.
✓ Branch 449 taken 1 times.
✗ Branch 450 not taken.
✓ Branch 453 taken 1 times.
✗ Branch 454 not taken.
✓ Branch 457 taken 1 times.
✗ Branch 458 not taken.
✓ Branch 461 taken 1 times.
✗ Branch 462 not taken.
✓ Branch 465 taken 1 times.
✗ Branch 466 not taken.
✓ Branch 469 taken 1 times.
✗ Branch 470 not taken.
✓ Branch 473 taken 1 times.
✗ Branch 474 not taken.
|
2563 | xLabel_ = label; |
| 270 | 1277 | } | |
| 271 | |||
| 272 | /*! | ||
| 273 | * \brief Sets the label for the y-axis | ||
| 274 | * | ||
| 275 | * \param label The label of the y-axis | ||
| 276 | */ | ||
| 277 | 1286 | void setYlabel(const std::string& label) | |
| 278 | { | ||
| 279 |
119/238✓ Branch 1 taken 1154 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 6 times.
✗ Branch 6 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 21 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 29 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 53 taken 1 times.
✗ Branch 54 not taken.
✓ Branch 57 taken 1 times.
✗ Branch 58 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 65 taken 1 times.
✗ Branch 66 not taken.
✓ Branch 69 taken 1 times.
✗ Branch 70 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 81 taken 1 times.
✗ Branch 82 not taken.
✓ Branch 85 taken 1 times.
✗ Branch 86 not taken.
✓ Branch 89 taken 1 times.
✗ Branch 90 not taken.
✓ Branch 93 taken 1 times.
✗ Branch 94 not taken.
✓ Branch 97 taken 1 times.
✗ Branch 98 not taken.
✓ Branch 101 taken 1 times.
✗ Branch 102 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 109 taken 1 times.
✗ Branch 110 not taken.
✓ Branch 113 taken 1 times.
✗ Branch 114 not taken.
✓ Branch 117 taken 1 times.
✗ Branch 118 not taken.
✓ Branch 121 taken 1 times.
✗ Branch 122 not taken.
✓ Branch 125 taken 1 times.
✗ Branch 126 not taken.
✓ Branch 129 taken 1 times.
✗ Branch 130 not taken.
✓ Branch 133 taken 1 times.
✗ Branch 134 not taken.
✓ Branch 137 taken 1 times.
✗ Branch 138 not taken.
✓ Branch 141 taken 1 times.
✗ Branch 142 not taken.
✓ Branch 145 taken 1 times.
✗ Branch 146 not taken.
✓ Branch 149 taken 1 times.
✗ Branch 150 not taken.
✓ Branch 153 taken 1 times.
✗ Branch 154 not taken.
✓ Branch 157 taken 1 times.
✗ Branch 158 not taken.
✓ Branch 161 taken 1 times.
✗ Branch 162 not taken.
✓ Branch 165 taken 1 times.
✗ Branch 166 not taken.
✓ Branch 169 taken 1 times.
✗ Branch 170 not taken.
✓ Branch 173 taken 1 times.
✗ Branch 174 not taken.
✓ Branch 177 taken 1 times.
✗ Branch 178 not taken.
✓ Branch 181 taken 1 times.
✗ Branch 182 not taken.
✓ Branch 185 taken 1 times.
✗ Branch 186 not taken.
✓ Branch 189 taken 1 times.
✗ Branch 190 not taken.
✓ Branch 193 taken 1 times.
✗ Branch 194 not taken.
✓ Branch 197 taken 1 times.
✗ Branch 198 not taken.
✓ Branch 201 taken 1 times.
✗ Branch 202 not taken.
✓ Branch 205 taken 1 times.
✗ Branch 206 not taken.
✓ Branch 209 taken 1 times.
✗ Branch 210 not taken.
✓ Branch 213 taken 1 times.
✗ Branch 214 not taken.
✓ Branch 217 taken 1 times.
✗ Branch 218 not taken.
✓ Branch 221 taken 1 times.
✗ Branch 222 not taken.
✓ Branch 225 taken 1 times.
✗ Branch 226 not taken.
✓ Branch 229 taken 1 times.
✗ Branch 230 not taken.
✓ Branch 233 taken 1 times.
✗ Branch 234 not taken.
✓ Branch 237 taken 1 times.
✗ Branch 238 not taken.
✓ Branch 241 taken 1 times.
✗ Branch 242 not taken.
✓ Branch 245 taken 1 times.
✗ Branch 246 not taken.
✓ Branch 249 taken 1 times.
✗ Branch 250 not taken.
✓ Branch 253 taken 1 times.
✗ Branch 254 not taken.
✓ Branch 257 taken 1 times.
✗ Branch 258 not taken.
✓ Branch 261 taken 1 times.
✗ Branch 262 not taken.
✓ Branch 265 taken 1 times.
✗ Branch 266 not taken.
✓ Branch 269 taken 1 times.
✗ Branch 270 not taken.
✓ Branch 273 taken 1 times.
✗ Branch 274 not taken.
✓ Branch 277 taken 1 times.
✗ Branch 278 not taken.
✓ Branch 281 taken 1 times.
✗ Branch 282 not taken.
✓ Branch 285 taken 1 times.
✗ Branch 286 not taken.
✓ Branch 289 taken 1 times.
✗ Branch 290 not taken.
✓ Branch 293 taken 1 times.
✗ Branch 294 not taken.
✓ Branch 297 taken 1 times.
✗ Branch 298 not taken.
✓ Branch 301 taken 1 times.
✗ Branch 302 not taken.
✓ Branch 305 taken 1 times.
✗ Branch 306 not taken.
✓ Branch 309 taken 1 times.
✗ Branch 310 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 317 taken 1 times.
✗ Branch 318 not taken.
✓ Branch 321 taken 1 times.
✗ Branch 322 not taken.
✓ Branch 325 taken 1 times.
✗ Branch 326 not taken.
✓ Branch 329 taken 1 times.
✗ Branch 330 not taken.
✓ Branch 333 taken 1 times.
✗ Branch 334 not taken.
✓ Branch 337 taken 1 times.
✗ Branch 338 not taken.
✓ Branch 341 taken 1 times.
✗ Branch 342 not taken.
✓ Branch 345 taken 1 times.
✗ Branch 346 not taken.
✓ Branch 349 taken 1 times.
✗ Branch 350 not taken.
✓ Branch 353 taken 1 times.
✗ Branch 354 not taken.
✓ Branch 357 taken 1 times.
✗ Branch 358 not taken.
✓ Branch 361 taken 1 times.
✗ Branch 362 not taken.
✓ Branch 365 taken 1 times.
✗ Branch 366 not taken.
✓ Branch 369 taken 1 times.
✗ Branch 370 not taken.
✓ Branch 373 taken 1 times.
✗ Branch 374 not taken.
✓ Branch 377 taken 1 times.
✗ Branch 378 not taken.
✓ Branch 381 taken 1 times.
✗ Branch 382 not taken.
✓ Branch 385 taken 1 times.
✗ Branch 386 not taken.
✓ Branch 389 taken 1 times.
✗ Branch 390 not taken.
✓ Branch 393 taken 1 times.
✗ Branch 394 not taken.
✓ Branch 397 taken 1 times.
✗ Branch 398 not taken.
✓ Branch 401 taken 1 times.
✗ Branch 402 not taken.
✓ Branch 405 taken 1 times.
✗ Branch 406 not taken.
✓ Branch 409 taken 1 times.
✗ Branch 410 not taken.
✓ Branch 413 taken 1 times.
✗ Branch 414 not taken.
✓ Branch 417 taken 1 times.
✗ Branch 418 not taken.
✓ Branch 421 taken 1 times.
✗ Branch 422 not taken.
✓ Branch 425 taken 1 times.
✗ Branch 426 not taken.
✓ Branch 429 taken 1 times.
✗ Branch 430 not taken.
✓ Branch 433 taken 1 times.
✗ Branch 434 not taken.
✓ Branch 437 taken 1 times.
✗ Branch 438 not taken.
✓ Branch 441 taken 1 times.
✗ Branch 442 not taken.
✓ Branch 445 taken 1 times.
✗ Branch 446 not taken.
✓ Branch 449 taken 1 times.
✗ Branch 450 not taken.
✓ Branch 453 taken 1 times.
✗ Branch 454 not taken.
✓ Branch 457 taken 1 times.
✗ Branch 458 not taken.
✓ Branch 461 taken 1 times.
✗ Branch 462 not taken.
✓ Branch 465 taken 1 times.
✗ Branch 466 not taken.
✓ Branch 469 taken 1 times.
✗ Branch 470 not taken.
✓ Branch 473 taken 1 times.
✗ Branch 474 not taken.
|
2563 | yLabel_ = label; |
| 280 | 1277 | } | |
| 281 | |||
| 282 | /*! | ||
| 283 | * \brief Sets the range for the x-axis | ||
| 284 | * | ||
| 285 | * \param min The lowest plotted value for the x-axis | ||
| 286 | * \param max The highest plotted value for the x-axis | ||
| 287 | */ | ||
| 288 | 1054 | void setXRange(Scalar min, Scalar max) | |
| 289 | { | ||
| 290 | 1054 | xRangeMin_ = min; | |
| 291 | 1054 | xRangeMax_ = max; | |
| 292 |
120/239✓ Branch 1 taken 2 times.
✓ Branch 2 taken 931 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 65 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 68 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 76 taken 1 times.
✗ Branch 77 not taken.
✓ Branch 79 taken 1 times.
✗ Branch 80 not taken.
✓ Branch 82 taken 1 times.
✗ Branch 83 not taken.
✓ Branch 85 taken 1 times.
✗ Branch 86 not taken.
✓ Branch 88 taken 1 times.
✗ Branch 89 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 94 taken 1 times.
✗ Branch 95 not taken.
✓ Branch 97 taken 1 times.
✗ Branch 98 not taken.
✓ Branch 100 taken 1 times.
✗ Branch 101 not taken.
✓ Branch 103 taken 1 times.
✗ Branch 104 not taken.
✓ Branch 106 taken 1 times.
✗ Branch 107 not taken.
✓ Branch 109 taken 1 times.
✗ Branch 110 not taken.
✓ Branch 112 taken 1 times.
✗ Branch 113 not taken.
✓ Branch 115 taken 1 times.
✗ Branch 116 not taken.
✓ Branch 118 taken 1 times.
✗ Branch 119 not taken.
✓ Branch 121 taken 1 times.
✗ Branch 122 not taken.
✓ Branch 124 taken 1 times.
✗ Branch 125 not taken.
✓ Branch 127 taken 1 times.
✗ Branch 128 not taken.
✓ Branch 130 taken 1 times.
✗ Branch 131 not taken.
✓ Branch 133 taken 1 times.
✗ Branch 134 not taken.
✓ Branch 136 taken 1 times.
✗ Branch 137 not taken.
✓ Branch 139 taken 1 times.
✗ Branch 140 not taken.
✓ Branch 142 taken 1 times.
✗ Branch 143 not taken.
✓ Branch 145 taken 1 times.
✗ Branch 146 not taken.
✓ Branch 148 taken 1 times.
✗ Branch 149 not taken.
✓ Branch 151 taken 1 times.
✗ Branch 152 not taken.
✓ Branch 154 taken 1 times.
✗ Branch 155 not taken.
✓ Branch 157 taken 1 times.
✗ Branch 158 not taken.
✓ Branch 160 taken 1 times.
✗ Branch 161 not taken.
✓ Branch 163 taken 1 times.
✗ Branch 164 not taken.
✓ Branch 166 taken 1 times.
✗ Branch 167 not taken.
✓ Branch 169 taken 1 times.
✗ Branch 170 not taken.
✓ Branch 172 taken 1 times.
✗ Branch 173 not taken.
✓ Branch 175 taken 1 times.
✗ Branch 176 not taken.
✓ Branch 178 taken 1 times.
✗ Branch 179 not taken.
✓ Branch 181 taken 1 times.
✗ Branch 182 not taken.
✓ Branch 184 taken 1 times.
✗ Branch 185 not taken.
✓ Branch 187 taken 1 times.
✗ Branch 188 not taken.
✓ Branch 190 taken 1 times.
✗ Branch 191 not taken.
✓ Branch 193 taken 1 times.
✗ Branch 194 not taken.
✓ Branch 196 taken 1 times.
✗ Branch 197 not taken.
✓ Branch 199 taken 1 times.
✗ Branch 200 not taken.
✓ Branch 202 taken 1 times.
✗ Branch 203 not taken.
✓ Branch 205 taken 1 times.
✗ Branch 206 not taken.
✓ Branch 208 taken 1 times.
✗ Branch 209 not taken.
✓ Branch 211 taken 1 times.
✗ Branch 212 not taken.
✓ Branch 214 taken 1 times.
✗ Branch 215 not taken.
✓ Branch 217 taken 1 times.
✗ Branch 218 not taken.
✓ Branch 220 taken 1 times.
✗ Branch 221 not taken.
✓ Branch 223 taken 1 times.
✗ Branch 224 not taken.
✓ Branch 226 taken 1 times.
✗ Branch 227 not taken.
✓ Branch 229 taken 1 times.
✗ Branch 230 not taken.
✓ Branch 232 taken 1 times.
✗ Branch 233 not taken.
✓ Branch 235 taken 1 times.
✗ Branch 236 not taken.
✓ Branch 238 taken 1 times.
✗ Branch 239 not taken.
✓ Branch 241 taken 1 times.
✗ Branch 242 not taken.
✓ Branch 244 taken 1 times.
✗ Branch 245 not taken.
✓ Branch 247 taken 1 times.
✗ Branch 248 not taken.
✓ Branch 250 taken 1 times.
✗ Branch 251 not taken.
✓ Branch 253 taken 1 times.
✗ Branch 254 not taken.
✓ Branch 256 taken 1 times.
✗ Branch 257 not taken.
✓ Branch 259 taken 1 times.
✗ Branch 260 not taken.
✓ Branch 262 taken 1 times.
✗ Branch 263 not taken.
✓ Branch 265 taken 1 times.
✗ Branch 266 not taken.
✓ Branch 268 taken 1 times.
✗ Branch 269 not taken.
✓ Branch 271 taken 1 times.
✗ Branch 272 not taken.
✓ Branch 274 taken 1 times.
✗ Branch 275 not taken.
✓ Branch 277 taken 1 times.
✗ Branch 278 not taken.
✓ Branch 280 taken 1 times.
✗ Branch 281 not taken.
✓ Branch 283 taken 1 times.
✗ Branch 284 not taken.
✓ Branch 286 taken 1 times.
✗ Branch 287 not taken.
✓ Branch 289 taken 1 times.
✗ Branch 290 not taken.
✓ Branch 292 taken 1 times.
✗ Branch 293 not taken.
✓ Branch 295 taken 1 times.
✗ Branch 296 not taken.
✓ Branch 298 taken 1 times.
✗ Branch 299 not taken.
✓ Branch 301 taken 1 times.
✗ Branch 302 not taken.
✓ Branch 304 taken 1 times.
✗ Branch 305 not taken.
✓ Branch 307 taken 1 times.
✗ Branch 308 not taken.
✓ Branch 310 taken 1 times.
✗ Branch 311 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 316 taken 1 times.
✗ Branch 317 not taken.
✓ Branch 319 taken 1 times.
✗ Branch 320 not taken.
✓ Branch 322 taken 1 times.
✗ Branch 323 not taken.
✓ Branch 325 taken 1 times.
✗ Branch 326 not taken.
✓ Branch 328 taken 1 times.
✗ Branch 329 not taken.
✓ Branch 331 taken 1 times.
✗ Branch 332 not taken.
✓ Branch 334 taken 1 times.
✗ Branch 335 not taken.
✓ Branch 337 taken 1 times.
✗ Branch 338 not taken.
✓ Branch 340 taken 1 times.
✗ Branch 341 not taken.
✓ Branch 343 taken 1 times.
✗ Branch 344 not taken.
✓ Branch 346 taken 1 times.
✗ Branch 347 not taken.
✓ Branch 349 taken 1 times.
✗ Branch 350 not taken.
✓ Branch 352 taken 1 times.
✗ Branch 353 not taken.
✓ Branch 355 taken 1 times.
✗ Branch 356 not taken.
✗ Branch 3 not taken.
|
1054 | xRangeIsSet_ = true; |
| 293 | } | ||
| 294 | |||
| 295 | /*! | ||
| 296 | * \brief Sets the range for the y-axis | ||
| 297 | * | ||
| 298 | * \param min The lowest plotted value for the y-axis | ||
| 299 | * \param max The highest plotted value for the y-axis | ||
| 300 | */ | ||
| 301 | 123 | void setYRange(Scalar min, Scalar max) | |
| 302 | { | ||
| 303 | 123 | yRangeMin_ = min; | |
| 304 | 123 | yRangeMax_ = max; | |
| 305 |
119/238✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 65 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 68 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 76 taken 1 times.
✗ Branch 77 not taken.
✓ Branch 79 taken 1 times.
✗ Branch 80 not taken.
✓ Branch 82 taken 1 times.
✗ Branch 83 not taken.
✓ Branch 85 taken 1 times.
✗ Branch 86 not taken.
✓ Branch 88 taken 1 times.
✗ Branch 89 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 94 taken 1 times.
✗ Branch 95 not taken.
✓ Branch 97 taken 1 times.
✗ Branch 98 not taken.
✓ Branch 100 taken 1 times.
✗ Branch 101 not taken.
✓ Branch 103 taken 1 times.
✗ Branch 104 not taken.
✓ Branch 106 taken 1 times.
✗ Branch 107 not taken.
✓ Branch 109 taken 1 times.
✗ Branch 110 not taken.
✓ Branch 112 taken 1 times.
✗ Branch 113 not taken.
✓ Branch 115 taken 1 times.
✗ Branch 116 not taken.
✓ Branch 118 taken 1 times.
✗ Branch 119 not taken.
✓ Branch 121 taken 1 times.
✗ Branch 122 not taken.
✓ Branch 124 taken 1 times.
✗ Branch 125 not taken.
✓ Branch 127 taken 1 times.
✗ Branch 128 not taken.
✓ Branch 130 taken 1 times.
✗ Branch 131 not taken.
✓ Branch 133 taken 1 times.
✗ Branch 134 not taken.
✓ Branch 136 taken 1 times.
✗ Branch 137 not taken.
✓ Branch 139 taken 1 times.
✗ Branch 140 not taken.
✓ Branch 142 taken 1 times.
✗ Branch 143 not taken.
✓ Branch 145 taken 1 times.
✗ Branch 146 not taken.
✓ Branch 148 taken 1 times.
✗ Branch 149 not taken.
✓ Branch 151 taken 1 times.
✗ Branch 152 not taken.
✓ Branch 154 taken 1 times.
✗ Branch 155 not taken.
✓ Branch 157 taken 1 times.
✗ Branch 158 not taken.
✓ Branch 160 taken 1 times.
✗ Branch 161 not taken.
✓ Branch 163 taken 1 times.
✗ Branch 164 not taken.
✓ Branch 166 taken 1 times.
✗ Branch 167 not taken.
✓ Branch 169 taken 1 times.
✗ Branch 170 not taken.
✓ Branch 172 taken 1 times.
✗ Branch 173 not taken.
✓ Branch 175 taken 1 times.
✗ Branch 176 not taken.
✓ Branch 178 taken 1 times.
✗ Branch 179 not taken.
✓ Branch 181 taken 1 times.
✗ Branch 182 not taken.
✓ Branch 184 taken 1 times.
✗ Branch 185 not taken.
✓ Branch 187 taken 1 times.
✗ Branch 188 not taken.
✓ Branch 190 taken 1 times.
✗ Branch 191 not taken.
✓ Branch 193 taken 1 times.
✗ Branch 194 not taken.
✓ Branch 196 taken 1 times.
✗ Branch 197 not taken.
✓ Branch 199 taken 1 times.
✗ Branch 200 not taken.
✓ Branch 202 taken 1 times.
✗ Branch 203 not taken.
✓ Branch 205 taken 1 times.
✗ Branch 206 not taken.
✓ Branch 208 taken 1 times.
✗ Branch 209 not taken.
✓ Branch 211 taken 1 times.
✗ Branch 212 not taken.
✓ Branch 214 taken 1 times.
✗ Branch 215 not taken.
✓ Branch 217 taken 1 times.
✗ Branch 218 not taken.
✓ Branch 220 taken 1 times.
✗ Branch 221 not taken.
✓ Branch 223 taken 1 times.
✗ Branch 224 not taken.
✓ Branch 226 taken 1 times.
✗ Branch 227 not taken.
✓ Branch 229 taken 1 times.
✗ Branch 230 not taken.
✓ Branch 232 taken 1 times.
✗ Branch 233 not taken.
✓ Branch 235 taken 1 times.
✗ Branch 236 not taken.
✓ Branch 238 taken 1 times.
✗ Branch 239 not taken.
✓ Branch 241 taken 1 times.
✗ Branch 242 not taken.
✓ Branch 244 taken 1 times.
✗ Branch 245 not taken.
✓ Branch 247 taken 1 times.
✗ Branch 248 not taken.
✓ Branch 250 taken 1 times.
✗ Branch 251 not taken.
✓ Branch 253 taken 1 times.
✗ Branch 254 not taken.
✓ Branch 256 taken 1 times.
✗ Branch 257 not taken.
✓ Branch 259 taken 1 times.
✗ Branch 260 not taken.
✓ Branch 262 taken 1 times.
✗ Branch 263 not taken.
✓ Branch 265 taken 1 times.
✗ Branch 266 not taken.
✓ Branch 268 taken 1 times.
✗ Branch 269 not taken.
✓ Branch 271 taken 1 times.
✗ Branch 272 not taken.
✓ Branch 274 taken 1 times.
✗ Branch 275 not taken.
✓ Branch 277 taken 1 times.
✗ Branch 278 not taken.
✓ Branch 280 taken 1 times.
✗ Branch 281 not taken.
✓ Branch 283 taken 1 times.
✗ Branch 284 not taken.
✓ Branch 286 taken 1 times.
✗ Branch 287 not taken.
✓ Branch 289 taken 1 times.
✗ Branch 290 not taken.
✓ Branch 292 taken 1 times.
✗ Branch 293 not taken.
✓ Branch 295 taken 1 times.
✗ Branch 296 not taken.
✓ Branch 298 taken 1 times.
✗ Branch 299 not taken.
✓ Branch 301 taken 1 times.
✗ Branch 302 not taken.
✓ Branch 304 taken 1 times.
✗ Branch 305 not taken.
✓ Branch 307 taken 1 times.
✗ Branch 308 not taken.
✓ Branch 310 taken 1 times.
✗ Branch 311 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 316 taken 1 times.
✗ Branch 317 not taken.
✓ Branch 319 taken 1 times.
✗ Branch 320 not taken.
✓ Branch 322 taken 1 times.
✗ Branch 323 not taken.
✓ Branch 325 taken 1 times.
✗ Branch 326 not taken.
✓ Branch 328 taken 1 times.
✗ Branch 329 not taken.
✓ Branch 331 taken 1 times.
✗ Branch 332 not taken.
✓ Branch 334 taken 1 times.
✗ Branch 335 not taken.
✓ Branch 337 taken 1 times.
✗ Branch 338 not taken.
✓ Branch 340 taken 1 times.
✗ Branch 341 not taken.
✓ Branch 343 taken 1 times.
✗ Branch 344 not taken.
✓ Branch 346 taken 1 times.
✗ Branch 347 not taken.
✓ Branch 349 taken 1 times.
✗ Branch 350 not taken.
✓ Branch 352 taken 1 times.
✗ Branch 353 not taken.
✓ Branch 355 taken 1 times.
✗ Branch 356 not taken.
|
123 | yRangeIsSet_ = true; |
| 306 | } | ||
| 307 | |||
| 308 | /*! | ||
| 309 | * \brief Sets additional user-defined options | ||
| 310 | * | ||
| 311 | * \param option Additional line of option in gnuplot language | ||
| 312 | */ | ||
| 313 | 1528 | void setOption(const std::string& option) | |
| 314 | { | ||
| 315 |
1/2✓ Branch 2 taken 1528 times.
✗ Branch 3 not taken.
|
3056 | plotOptions_ += option + "\n"; |
| 316 | 1528 | } | |
| 317 | |||
| 318 | /*! | ||
| 319 | * \brief Define whether the gnuplot window should be opened | ||
| 320 | * | ||
| 321 | * \param openPlotWindow Open gnuplot or not | ||
| 322 | */ | ||
| 323 | 150 | void setOpenPlotWindow(bool openPlotWindow) | |
| 324 | { | ||
| 325 |
3/7✓ Branch 1 taken 19 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✗ Branch 0 not taken.
|
150 | openPlotWindow_ = openPlotWindow; |
| 326 | } | ||
| 327 | |||
| 328 | /*! | ||
| 329 | * \brief Define whether gnuplot should create .png files | ||
| 330 | * | ||
| 331 | * \param createImage Create an image or not | ||
| 332 | */ | ||
| 333 | 119 | void setCreateImage(bool createImage) | |
| 334 | { | ||
| 335 |
119/238✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 65 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 68 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 76 taken 1 times.
✗ Branch 77 not taken.
✓ Branch 79 taken 1 times.
✗ Branch 80 not taken.
✓ Branch 82 taken 1 times.
✗ Branch 83 not taken.
✓ Branch 85 taken 1 times.
✗ Branch 86 not taken.
✓ Branch 88 taken 1 times.
✗ Branch 89 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 94 taken 1 times.
✗ Branch 95 not taken.
✓ Branch 97 taken 1 times.
✗ Branch 98 not taken.
✓ Branch 100 taken 1 times.
✗ Branch 101 not taken.
✓ Branch 103 taken 1 times.
✗ Branch 104 not taken.
✓ Branch 106 taken 1 times.
✗ Branch 107 not taken.
✓ Branch 109 taken 1 times.
✗ Branch 110 not taken.
✓ Branch 112 taken 1 times.
✗ Branch 113 not taken.
✓ Branch 115 taken 1 times.
✗ Branch 116 not taken.
✓ Branch 118 taken 1 times.
✗ Branch 119 not taken.
✓ Branch 121 taken 1 times.
✗ Branch 122 not taken.
✓ Branch 124 taken 1 times.
✗ Branch 125 not taken.
✓ Branch 127 taken 1 times.
✗ Branch 128 not taken.
✓ Branch 130 taken 1 times.
✗ Branch 131 not taken.
✓ Branch 133 taken 1 times.
✗ Branch 134 not taken.
✓ Branch 136 taken 1 times.
✗ Branch 137 not taken.
✓ Branch 139 taken 1 times.
✗ Branch 140 not taken.
✓ Branch 142 taken 1 times.
✗ Branch 143 not taken.
✓ Branch 145 taken 1 times.
✗ Branch 146 not taken.
✓ Branch 148 taken 1 times.
✗ Branch 149 not taken.
✓ Branch 151 taken 1 times.
✗ Branch 152 not taken.
✓ Branch 154 taken 1 times.
✗ Branch 155 not taken.
✓ Branch 157 taken 1 times.
✗ Branch 158 not taken.
✓ Branch 160 taken 1 times.
✗ Branch 161 not taken.
✓ Branch 163 taken 1 times.
✗ Branch 164 not taken.
✓ Branch 166 taken 1 times.
✗ Branch 167 not taken.
✓ Branch 169 taken 1 times.
✗ Branch 170 not taken.
✓ Branch 172 taken 1 times.
✗ Branch 173 not taken.
✓ Branch 175 taken 1 times.
✗ Branch 176 not taken.
✓ Branch 178 taken 1 times.
✗ Branch 179 not taken.
✓ Branch 181 taken 1 times.
✗ Branch 182 not taken.
✓ Branch 184 taken 1 times.
✗ Branch 185 not taken.
✓ Branch 187 taken 1 times.
✗ Branch 188 not taken.
✓ Branch 190 taken 1 times.
✗ Branch 191 not taken.
✓ Branch 193 taken 1 times.
✗ Branch 194 not taken.
✓ Branch 196 taken 1 times.
✗ Branch 197 not taken.
✓ Branch 199 taken 1 times.
✗ Branch 200 not taken.
✓ Branch 202 taken 1 times.
✗ Branch 203 not taken.
✓ Branch 205 taken 1 times.
✗ Branch 206 not taken.
✓ Branch 208 taken 1 times.
✗ Branch 209 not taken.
✓ Branch 211 taken 1 times.
✗ Branch 212 not taken.
✓ Branch 214 taken 1 times.
✗ Branch 215 not taken.
✓ Branch 217 taken 1 times.
✗ Branch 218 not taken.
✓ Branch 220 taken 1 times.
✗ Branch 221 not taken.
✓ Branch 223 taken 1 times.
✗ Branch 224 not taken.
✓ Branch 226 taken 1 times.
✗ Branch 227 not taken.
✓ Branch 229 taken 1 times.
✗ Branch 230 not taken.
✓ Branch 232 taken 1 times.
✗ Branch 233 not taken.
✓ Branch 235 taken 1 times.
✗ Branch 236 not taken.
✓ Branch 238 taken 1 times.
✗ Branch 239 not taken.
✓ Branch 241 taken 1 times.
✗ Branch 242 not taken.
✓ Branch 244 taken 1 times.
✗ Branch 245 not taken.
✓ Branch 247 taken 1 times.
✗ Branch 248 not taken.
✓ Branch 250 taken 1 times.
✗ Branch 251 not taken.
✓ Branch 253 taken 1 times.
✗ Branch 254 not taken.
✓ Branch 256 taken 1 times.
✗ Branch 257 not taken.
✓ Branch 259 taken 1 times.
✗ Branch 260 not taken.
✓ Branch 262 taken 1 times.
✗ Branch 263 not taken.
✓ Branch 265 taken 1 times.
✗ Branch 266 not taken.
✓ Branch 268 taken 1 times.
✗ Branch 269 not taken.
✓ Branch 271 taken 1 times.
✗ Branch 272 not taken.
✓ Branch 274 taken 1 times.
✗ Branch 275 not taken.
✓ Branch 277 taken 1 times.
✗ Branch 278 not taken.
✓ Branch 280 taken 1 times.
✗ Branch 281 not taken.
✓ Branch 283 taken 1 times.
✗ Branch 284 not taken.
✓ Branch 286 taken 1 times.
✗ Branch 287 not taken.
✓ Branch 289 taken 1 times.
✗ Branch 290 not taken.
✓ Branch 292 taken 1 times.
✗ Branch 293 not taken.
✓ Branch 295 taken 1 times.
✗ Branch 296 not taken.
✓ Branch 298 taken 1 times.
✗ Branch 299 not taken.
✓ Branch 301 taken 1 times.
✗ Branch 302 not taken.
✓ Branch 304 taken 1 times.
✗ Branch 305 not taken.
✓ Branch 307 taken 1 times.
✗ Branch 308 not taken.
✓ Branch 310 taken 1 times.
✗ Branch 311 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 316 taken 1 times.
✗ Branch 317 not taken.
✓ Branch 319 taken 1 times.
✗ Branch 320 not taken.
✓ Branch 322 taken 1 times.
✗ Branch 323 not taken.
✓ Branch 325 taken 1 times.
✗ Branch 326 not taken.
✓ Branch 328 taken 1 times.
✗ Branch 329 not taken.
✓ Branch 331 taken 1 times.
✗ Branch 332 not taken.
✓ Branch 334 taken 1 times.
✗ Branch 335 not taken.
✓ Branch 337 taken 1 times.
✗ Branch 338 not taken.
✓ Branch 340 taken 1 times.
✗ Branch 341 not taken.
✓ Branch 343 taken 1 times.
✗ Branch 344 not taken.
✓ Branch 346 taken 1 times.
✗ Branch 347 not taken.
✓ Branch 349 taken 1 times.
✗ Branch 350 not taken.
✓ Branch 352 taken 1 times.
✗ Branch 353 not taken.
✓ Branch 355 taken 1 times.
✗ Branch 356 not taken.
|
119 | createImage_ = createImage; |
| 336 | } | ||
| 337 | |||
| 338 | /*! | ||
| 339 | * \brief Sets the datafile separator | ||
| 340 | * | ||
| 341 | * \param separator The separator sign between two data columns | ||
| 342 | */ | ||
| 343 | 120 | void setDatafileSeparator(char separator) | |
| 344 | { | ||
| 345 |
119/238✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 65 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 68 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 76 taken 1 times.
✗ Branch 77 not taken.
✓ Branch 79 taken 1 times.
✗ Branch 80 not taken.
✓ Branch 82 taken 1 times.
✗ Branch 83 not taken.
✓ Branch 85 taken 1 times.
✗ Branch 86 not taken.
✓ Branch 88 taken 1 times.
✗ Branch 89 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 94 taken 1 times.
✗ Branch 95 not taken.
✓ Branch 97 taken 1 times.
✗ Branch 98 not taken.
✓ Branch 100 taken 1 times.
✗ Branch 101 not taken.
✓ Branch 103 taken 1 times.
✗ Branch 104 not taken.
✓ Branch 106 taken 1 times.
✗ Branch 107 not taken.
✓ Branch 109 taken 1 times.
✗ Branch 110 not taken.
✓ Branch 112 taken 1 times.
✗ Branch 113 not taken.
✓ Branch 115 taken 1 times.
✗ Branch 116 not taken.
✓ Branch 118 taken 1 times.
✗ Branch 119 not taken.
✓ Branch 121 taken 1 times.
✗ Branch 122 not taken.
✓ Branch 124 taken 1 times.
✗ Branch 125 not taken.
✓ Branch 127 taken 1 times.
✗ Branch 128 not taken.
✓ Branch 130 taken 1 times.
✗ Branch 131 not taken.
✓ Branch 133 taken 1 times.
✗ Branch 134 not taken.
✓ Branch 136 taken 1 times.
✗ Branch 137 not taken.
✓ Branch 139 taken 1 times.
✗ Branch 140 not taken.
✓ Branch 142 taken 1 times.
✗ Branch 143 not taken.
✓ Branch 145 taken 1 times.
✗ Branch 146 not taken.
✓ Branch 148 taken 1 times.
✗ Branch 149 not taken.
✓ Branch 151 taken 1 times.
✗ Branch 152 not taken.
✓ Branch 154 taken 1 times.
✗ Branch 155 not taken.
✓ Branch 157 taken 1 times.
✗ Branch 158 not taken.
✓ Branch 160 taken 1 times.
✗ Branch 161 not taken.
✓ Branch 163 taken 1 times.
✗ Branch 164 not taken.
✓ Branch 166 taken 1 times.
✗ Branch 167 not taken.
✓ Branch 169 taken 1 times.
✗ Branch 170 not taken.
✓ Branch 172 taken 1 times.
✗ Branch 173 not taken.
✓ Branch 175 taken 1 times.
✗ Branch 176 not taken.
✓ Branch 178 taken 1 times.
✗ Branch 179 not taken.
✓ Branch 181 taken 1 times.
✗ Branch 182 not taken.
✓ Branch 184 taken 1 times.
✗ Branch 185 not taken.
✓ Branch 187 taken 1 times.
✗ Branch 188 not taken.
✓ Branch 190 taken 1 times.
✗ Branch 191 not taken.
✓ Branch 193 taken 1 times.
✗ Branch 194 not taken.
✓ Branch 196 taken 1 times.
✗ Branch 197 not taken.
✓ Branch 199 taken 1 times.
✗ Branch 200 not taken.
✓ Branch 202 taken 1 times.
✗ Branch 203 not taken.
✓ Branch 205 taken 1 times.
✗ Branch 206 not taken.
✓ Branch 208 taken 1 times.
✗ Branch 209 not taken.
✓ Branch 211 taken 1 times.
✗ Branch 212 not taken.
✓ Branch 214 taken 1 times.
✗ Branch 215 not taken.
✓ Branch 217 taken 1 times.
✗ Branch 218 not taken.
✓ Branch 220 taken 1 times.
✗ Branch 221 not taken.
✓ Branch 223 taken 1 times.
✗ Branch 224 not taken.
✓ Branch 226 taken 1 times.
✗ Branch 227 not taken.
✓ Branch 229 taken 1 times.
✗ Branch 230 not taken.
✓ Branch 232 taken 1 times.
✗ Branch 233 not taken.
✓ Branch 235 taken 1 times.
✗ Branch 236 not taken.
✓ Branch 238 taken 1 times.
✗ Branch 239 not taken.
✓ Branch 241 taken 1 times.
✗ Branch 242 not taken.
✓ Branch 244 taken 1 times.
✗ Branch 245 not taken.
✓ Branch 247 taken 1 times.
✗ Branch 248 not taken.
✓ Branch 250 taken 1 times.
✗ Branch 251 not taken.
✓ Branch 253 taken 1 times.
✗ Branch 254 not taken.
✓ Branch 256 taken 1 times.
✗ Branch 257 not taken.
✓ Branch 259 taken 1 times.
✗ Branch 260 not taken.
✓ Branch 262 taken 1 times.
✗ Branch 263 not taken.
✓ Branch 265 taken 1 times.
✗ Branch 266 not taken.
✓ Branch 268 taken 1 times.
✗ Branch 269 not taken.
✓ Branch 271 taken 1 times.
✗ Branch 272 not taken.
✓ Branch 274 taken 1 times.
✗ Branch 275 not taken.
✓ Branch 277 taken 1 times.
✗ Branch 278 not taken.
✓ Branch 280 taken 1 times.
✗ Branch 281 not taken.
✓ Branch 283 taken 1 times.
✗ Branch 284 not taken.
✓ Branch 286 taken 1 times.
✗ Branch 287 not taken.
✓ Branch 289 taken 1 times.
✗ Branch 290 not taken.
✓ Branch 292 taken 1 times.
✗ Branch 293 not taken.
✓ Branch 295 taken 1 times.
✗ Branch 296 not taken.
✓ Branch 298 taken 1 times.
✗ Branch 299 not taken.
✓ Branch 301 taken 1 times.
✗ Branch 302 not taken.
✓ Branch 304 taken 1 times.
✗ Branch 305 not taken.
✓ Branch 307 taken 1 times.
✗ Branch 308 not taken.
✓ Branch 310 taken 1 times.
✗ Branch 311 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 316 taken 1 times.
✗ Branch 317 not taken.
✓ Branch 319 taken 1 times.
✗ Branch 320 not taken.
✓ Branch 322 taken 1 times.
✗ Branch 323 not taken.
✓ Branch 325 taken 1 times.
✗ Branch 326 not taken.
✓ Branch 328 taken 1 times.
✗ Branch 329 not taken.
✓ Branch 331 taken 1 times.
✗ Branch 332 not taken.
✓ Branch 334 taken 1 times.
✗ Branch 335 not taken.
✓ Branch 337 taken 1 times.
✗ Branch 338 not taken.
✓ Branch 340 taken 1 times.
✗ Branch 341 not taken.
✓ Branch 343 taken 1 times.
✗ Branch 344 not taken.
✓ Branch 346 taken 1 times.
✗ Branch 347 not taken.
✓ Branch 349 taken 1 times.
✗ Branch 350 not taken.
✓ Branch 352 taken 1 times.
✗ Branch 353 not taken.
✓ Branch 355 taken 1 times.
✗ Branch 356 not taken.
|
120 | datafileSeparator_ = separator; |
| 346 | } | ||
| 347 | |||
| 348 | /*! | ||
| 349 | * \brief Sets the terminal used for interactive output | ||
| 350 | * | ||
| 351 | * \param terminal The user-specified terminal | ||
| 352 | */ | ||
| 353 | void setTerminalType(std::string terminal) | ||
| 354 | { | ||
| 355 | terminalType_ = terminal; | ||
| 356 | } | ||
| 357 | |||
| 358 | /*! | ||
| 359 | * \brief Sets the output directory for data and gnuplot files | ||
| 360 | * | ||
| 361 | * \param outputDirectory The user-specified terminal | ||
| 362 | */ | ||
| 363 | 1 | void setOutputDirectory(const std::string& outputDirectory) | |
| 364 | { | ||
| 365 | 1 | outputDirectory_ = outputDirectory + "/"; | |
| 366 | 1 | } | |
| 367 | |||
| 368 | /*! | ||
| 369 | * \brief Use dashed (true) or solid (false) lines | ||
| 370 | * | ||
| 371 | * \param dashed Use dashed lines | ||
| 372 | */ | ||
| 373 | void useDashedLines(bool dashed) | ||
| 374 | { | ||
| 375 | linetype_ = dashed ? "dashed" : "solid"; | ||
| 376 | } | ||
| 377 | |||
| 378 | private: | ||
| 379 | // Give plot command to gnuplot | ||
| 380 | 1319 | void executeGnuplot(const std::string& plotCommand, std::FILE * pipe) const | |
| 381 | { | ||
| 382 | #ifdef DUMUX_HAVE_GNUPLOT | ||
| 383 | fputs((plotCommand + "\n").c_str(), pipe); | ||
| 384 | fflush(pipe); | ||
| 385 | #else | ||
| 386 | 1319 | std::cerr << "Warning: Gnuplot has not been found by CMake, no image generation or interactive display possible." << std::endl; | |
| 387 | 1319 | std::cerr << "Note: The data and the gnuplot instruction file will still be created." << std::endl; | |
| 388 | #endif | ||
| 389 | 1319 | } | |
| 390 | |||
| 391 | // Check validity of number | ||
| 392 | 1010858 | void checkNumber(Scalar number, const std::string& text = "") const | |
| 393 | { | ||
| 394 | using std::isnan; | ||
| 395 | using std::isinf; | ||
| 396 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1010858 times.
|
1010858 | if (isnan(number)) |
| 397 | ✗ | Dune::dwarn << "warning: " << text << " is not a number, adjust your data range" << std::endl; | |
| 398 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1010858 times.
|
1010858 | if (isinf(number)) |
| 399 | ✗ | Dune::dwarn << "warning: " << text << " is infinity, adjust your data range" << std::endl; | |
| 400 | 1010858 | } | |
| 401 | |||
| 402 | // Convert string with higher precision | ||
| 403 | template <typename T> | ||
| 404 | 2378 | std::string toStringWithPrecision(const T value, const int n = 8) | |
| 405 | { | ||
| 406 | 2378 | std::ostringstream out; | |
| 407 |
2/4✓ Branch 1 taken 2378 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2378 times.
✗ Branch 5 not taken.
|
2378 | out << std::setprecision(n) << value; |
| 408 | 2378 | return out.str(); | |
| 409 | 2378 | } | |
| 410 | |||
| 411 | std::FILE * pipeInteractive_; | ||
| 412 | std::FILE * pipeImage_; | ||
| 413 | bool openPlotWindow_; | ||
| 414 | bool persist_; | ||
| 415 | bool createImage_; | ||
| 416 | std::string terminalType_; | ||
| 417 | std::string outputDirectory_; | ||
| 418 | char datafileSeparator_; | ||
| 419 | std::string linetype_; | ||
| 420 | StringVector curve_; | ||
| 421 | StringVector curveOptions_; | ||
| 422 | CurveTypeVector curveType_; | ||
| 423 | Scalar xRangeMin_; | ||
| 424 | Scalar xRangeMax_; | ||
| 425 | bool xRangeIsSet_; | ||
| 426 | Scalar yRangeMin_; | ||
| 427 | Scalar yRangeMax_; | ||
| 428 | bool yRangeIsSet_; | ||
| 429 | std::string xLabel_; | ||
| 430 | std::string yLabel_; | ||
| 431 | std::string plotOptions_; | ||
| 432 | std::string gnuplotPath_; | ||
| 433 | }; | ||
| 434 | } // end namespace Dumux | ||
| 435 | #endif | ||
| 436 |