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 | 166 | explicit GnuplotInterface(bool persist = true) : | |
54 | 166 | pipeInteractive_(0), pipeImage_(0), | |
55 | 166 | openPlotWindow_(true), persist_(persist), createImage_(true), | |
56 |
1/2✓ Branch 2 taken 166 times.
✗ Branch 3 not taken.
|
166 | terminalType_("x11"), outputDirectory_("./"), |
57 |
1/2✓ Branch 1 taken 166 times.
✗ Branch 2 not taken.
|
166 | datafileSeparator_(' '), linetype_("solid"), |
58 | 166 | xRangeIsSet_(false), yRangeIsSet_(false), | |
59 |
2/4✓ Branch 1 taken 166 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 166 times.
✗ Branch 5 not taken.
|
166 | xLabel_(""), yLabel_(""), |
60 |
2/4✓ Branch 1 taken 166 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 166 times.
✗ Branch 5 not taken.
|
332 | gnuplotPath_(GNUPLOT_EXECUTABLE) |
61 | { | ||
62 |
1/2✓ Branch 1 taken 166 times.
✗ Branch 2 not taken.
|
166 | open(persist_); |
63 |
1/2✓ Branch 1 taken 166 times.
✗ Branch 2 not taken.
|
166 | resetPlot(); |
64 | 166 | } | |
65 | |||
66 | //! \brief The destructor | ||
67 | 165 | ~GnuplotInterface() | |
68 | { | ||
69 | 165 | close(); | |
70 | 167 | } | |
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 | 1525 | void plot(const std::string &filename = "") | |
78 | { | ||
79 | // set correct terminal and general options | ||
80 |
2/4✓ Branch 2 taken 1525 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1525 times.
✗ Branch 6 not taken.
|
4575 | 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 1525 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1525 times.
✗ Branch 5 not taken.
|
4575 | plot += "set xlabel \"" + xLabel_ + "\"\n"; |
84 |
2/4✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1525 times.
✗ Branch 5 not taken.
|
4575 | plot += "set ylabel \"" + yLabel_ + "\"\n"; |
85 |
2/2✓ Branch 0 taken 1060 times.
✓ Branch 1 taken 465 times.
|
1525 | 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 1396 times.
|
1525 | 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 1525 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1525 times.
✗ Branch 6 not taken.
|
3050 | plot += plotOptions_ + "\n"; |
92 | |||
93 | // plot curves | ||
94 |
1/2✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
|
1525 | plot += "plot"; |
95 | 4948 | std::string plotCommandForFile(plot); | |
96 |
2/2✓ Branch 0 taken 3423 times.
✓ Branch 1 taken 1525 times.
|
4948 | for (unsigned int i = 0; i < curve_.size(); ++i) |
97 | { | ||
98 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3422 times.
|
3423 | 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 3422 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3422 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3422 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 3422 times.
✗ Branch 11 not taken.
|
17110 | plot += + " '" + outputDirectory_ + curve_[i] + "' " + curveOptions_[i]; |
106 |
3/6✓ Branch 1 taken 3422 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3422 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3422 times.
✗ Branch 8 not taken.
|
13688 | plotCommandForFile += + " '" + curve_[i] + "' " + curveOptions_[i]; |
107 | } | ||
108 | |||
109 |
2/2✓ Branch 0 taken 1898 times.
✓ Branch 1 taken 1525 times.
|
3423 | if (i < curve_.size()-1) |
110 | { | ||
111 |
1/2✓ Branch 1 taken 1898 times.
✗ Branch 2 not taken.
|
1898 | plot += ",\\"; |
112 |
1/2✓ Branch 1 taken 3423 times.
✗ Branch 2 not taken.
|
3423 | plotCommandForFile += ",\\"; |
113 | } | ||
114 |
1/2✓ Branch 1 taken 3423 times.
✗ Branch 2 not taken.
|
3423 | plot += "\n"; |
115 | 3423 | plotCommandForFile += "\n"; | |
116 | } | ||
117 | |||
118 | // initialize the interactive plot | ||
119 |
1/2✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
|
1525 | std::string interactivePlot = "reset\n"; |
120 | |||
121 | // set the terminal if the defaults were overwritten | ||
122 |
2/4✓ Branch 0 taken 1525 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1525 times.
|
1525 | 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 | 1525 | interactivePlot += plot; | |
127 |
2/2✓ Branch 0 taken 11 times.
✓ Branch 1 taken 1514 times.
|
1525 | 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 1525 times.
✗ Branch 1 not taken.
|
1525 | if (filename.compare("") != 0) |
132 | { | ||
133 |
1/2✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
|
1525 | std::string filePlot = "reset\n"; |
134 |
2/4✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1525 times.
✗ Branch 5 not taken.
|
4575 | filePlot += "set term pngcairo size 800,600 " + linetype_ + " \n"; |
135 |
3/6✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1525 times.
✗ Branch 5 not taken.
✓ Branch 9 taken 1525 times.
✗ Branch 10 not taken.
|
4575 | filePlot += "set output \"" + filename + ".png\"\n"; |
136 | 1525 | filePlot += plot; | |
137 |
2/4✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1525 times.
✗ Branch 5 not taken.
|
3050 | std::string gnuplotFileName = outputDirectory_ + filename + ".gp"; |
138 |
1/2✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
|
1525 | std::ofstream file; |
139 |
1/2✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
|
1525 | file.open(gnuplotFileName); |
140 | 1525 | file << filePlot; | |
141 |
1/2✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
|
1525 | file.close(); |
142 | |||
143 | // create the image if desired | ||
144 |
1/2✓ Branch 0 taken 1525 times.
✗ Branch 1 not taken.
|
1525 | if (createImage_) |
145 |
1/2✓ Branch 1 taken 1525 times.
✗ Branch 2 not taken.
|
1525 | executeGnuplot(filePlot, pipeImage_); |
146 | 1525 | } | |
147 | 1525 | } | |
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 | 1552 | void resetPlot() | |
163 | { | ||
164 |
2/2✓ Branch 0 taken 1374 times.
✓ Branch 1 taken 178 times.
|
1552 | curve_.clear(); |
165 |
2/2✓ Branch 0 taken 1374 times.
✓ Branch 1 taken 178 times.
|
1552 | curveOptions_.clear(); |
166 | 1552 | plotOptions_ = ""; | |
167 | 1552 | } | |
168 | |||
169 | /*! | ||
170 | * \brief Opens gnuplot | ||
171 | */ | ||
172 | 173 | void open(const bool persist = true) | |
173 | { | ||
174 |
2/2✓ Branch 0 taken 144 times.
✓ Branch 1 taken 29 times.
|
173 | if (persist) |
175 |
1/2✓ Branch 2 taken 144 times.
✗ Branch 3 not taken.
|
144 | 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 | 173 | pipeImage_ = popen((gnuplotPath_).c_str(), "w"); | |
181 | 173 | } | |
182 | |||
183 | /*! | ||
184 | * \brief Closes gnuplot | ||
185 | */ | ||
186 | 172 | void close() | |
187 | { | ||
188 |
1/2✓ Branch 1 taken 172 times.
✗ Branch 2 not taken.
|
172 | if (pclose(pipeInteractive_) == -1 || pclose(pipeImage_) == -1) |
189 | assert("Could not close pipe to Gnuplot!"); | ||
190 | 172 | } | |
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 3406 times.
✗ Branch 1 not taken.
|
3406 | 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 3406 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3406 times.
|
3406 | 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 3406 times.
|
3406 | 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 3406 times.
|
3406 | 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 | 3406 | std::ofstream file; | |
247 |
2/4✓ Branch 1 taken 3406 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3406 times.
✗ Branch 5 not taken.
|
3406 | file.open(outputDirectory_ + fileName); |
248 |
2/2✓ Branch 0 taken 576388 times.
✓ Branch 1 taken 3406 times.
|
579794 | for (unsigned int i = 0; i < x.size(); i++) |
249 | { | ||
250 |
4/8✓ Branch 2 taken 576388 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 576388 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 576388 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 576388 times.
✗ Branch 12 not taken.
|
2881940 | checkNumber(x[i], "x[i] i=" + std::to_string(i) + " in " + fileName); |
251 |
4/8✓ Branch 2 taken 576388 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 576388 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 576388 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 576388 times.
✗ Branch 12 not taken.
|
2881940 | checkNumber(y[i], "y[i] i=" + std::to_string(i) + " in " + fileName); |
252 |
4/8✓ Branch 1 taken 576388 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 576388 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 576388 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 576388 times.
✗ Branch 11 not taken.
|
576388 | file << x[i] << datafileSeparator_ << y[i] << std::endl; |
253 | } | ||
254 |
1/2✓ Branch 1 taken 3406 times.
✗ Branch 2 not taken.
|
3406 | file.close(); |
255 | |||
256 | // adding file to list of plotted lines | ||
257 |
1/2✓ Branch 1 taken 3406 times.
✗ Branch 2 not taken.
|
3406 | curve_.push_back(fileName); |
258 |
1/2✓ Branch 1 taken 3406 times.
✗ Branch 2 not taken.
|
3406 | curveOptions_.push_back(options); |
259 |
1/2✓ Branch 1 taken 3406 times.
✗ Branch 2 not taken.
|
3406 | curveType_.push_back(CurveType::data); |
260 | 3406 | } | |
261 | |||
262 | /*! | ||
263 | * \brief Sets the label for the x-axis | ||
264 | * | ||
265 | * \param label The label of the x-axis | ||
266 | */ | ||
267 | 1503 | void setXlabel(const std::string& label) | |
268 | { | ||
269 |
119/238✓ Branch 1 taken 1371 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.
|
2997 | xLabel_ = label; |
270 | 1494 | } | |
271 | |||
272 | /*! | ||
273 | * \brief Sets the label for the y-axis | ||
274 | * | ||
275 | * \param label The label of the y-axis | ||
276 | */ | ||
277 | 1503 | void setYlabel(const std::string& label) | |
278 | { | ||
279 |
119/238✓ Branch 1 taken 1371 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.
|
2997 | yLabel_ = label; |
280 | 1494 | } | |
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 | 3047 | void setOption(const std::string& option) | |
314 | { | ||
315 |
1/2✓ Branch 2 taken 3047 times.
✗ Branch 3 not taken.
|
6094 | plotOptions_ += option + "\n"; |
316 | 3047 | } | |
317 | |||
318 | /*! | ||
319 | * \brief Define whether the gnuplot window should be opened | ||
320 | * | ||
321 | * \param openPlotWindow Open gnuplot or not | ||
322 | */ | ||
323 | 151 | void setOpenPlotWindow(bool openPlotWindow) | |
324 | { | ||
325 |
3/7✓ Branch 1 taken 20 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.
|
151 | 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 | 1536 | 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 | 1536 | std::cerr << "Warning: Gnuplot has not been found by CMake, no image generation or interactive display possible." << std::endl; | |
387 | 1536 | std::cerr << "Note: The data and the gnuplot instruction file will still be created." << std::endl; | |
388 | #endif | ||
389 | 1536 | } | |
390 | |||
391 | // Check validity of number | ||
392 | 1152776 | 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 1152776 times.
|
1152776 | 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 1152776 times.
|
1152776 | if (isinf(number)) |
399 | ✗ | Dune::dwarn << "warning: " << text << " is infinity, adjust your data range" << std::endl; | |
400 | 1152776 | } | |
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 |