23#include "../../kernel.hpp"
24#define STYLES_COUNT 20
52 return _parser.
Eval(nResults);
67 static std::string sColorChars =
"#| wWhHkRrQqYyEeGgLlCcNnBbUuMmPp123456789{}";
69 for (
size_t i = 0; i < sColorSet.length(); i++)
71 if (sColorSet[i] ==
'{' && i+3 >= sColorSet.length())
73 else if (sColorSet[i] ==
'{'
74 && (sColorSet[i+3] !=
'}'
75 || sColorChars.substr(3,sColorChars.length()-14).find(sColorSet[i+1]) == std::string::npos
76 || sColorSet[i+2] >
'9'
77 || sColorSet[i+2] <
'1'))
80 if (sColorChars.find(sColorSet[i]) == std::string::npos)
99 static std::string sLineChars =
" -:;ij|=";
101 for (
size_t i = 0; i < sLineSet.length(); i++)
103 if (sLineChars.find(sLineSet[i]) == std::string::npos)
122 static std::string sPointChars =
" .*+x#sdo^v<>";
124 for (
size_t i = 0; i < sPointSet.length(); i++)
126 if (sPointChars.find(sPointSet[i]) == std::string::npos)
141static std::map<std::string,std::pair<PlotData::LogicalPlotSetting,PlotData::ParamType>>
getGenericSwitches()
143 std::map<std::string,std::pair<PlotData::LogicalPlotSetting,PlotData::ParamType>> mGenericSwitches;
169 return mGenericSwitches;
183 std::map<std::string, std::string> mColorSchemes;
185 mColorSchemes.emplace(
"rainbow",
"BbcyrR");
186 mColorSchemes.emplace(
"grey",
"kw");
187 mColorSchemes.emplace(
"hot",
"{R1}{r4}qy");
188 mColorSchemes.emplace(
"cold",
"{B2}n{c8}");
189 mColorSchemes.emplace(
"copper",
"{Q2}{q3}{q9}");
190 mColorSchemes.emplace(
"map",
"UBbcgyqRH");
191 mColorSchemes.emplace(
"moy",
"kMqyw");
192 mColorSchemes.emplace(
"coast",
"{B6}{c3}{y8}");
193 mColorSchemes.emplace(
"viridis",
"{U3}{N4}C{e4}y");
194 mColorSchemes.emplace(
"std",
"{U3}{N4}C{e4}y");
195 mColorSchemes.emplace(
"plasma",
"B{u4}p{q6}{y7}");
196 mColorSchemes.emplace(
"hue",
"rygcbmr");
197 mColorSchemes.emplace(
"polarity",
"w{n5}{u2}{r7}w");
198 mColorSchemes.emplace(
"complex",
"w{n5}{u2}{r7}w");
199 mColorSchemes.emplace(
"spectral",
"{R6}{q6}{y8}{l6}{N6}");
200 mColorSchemes.emplace(
"coolwarm",
"{n6}{r7}");
201 mColorSchemes.emplace(
"ryg",
"{R6}{y7}{G6}");
203 return mColorSchemes;
236 static std::map<std::string,std::pair<PlotData::LogicalPlotSetting,PlotData::ParamType>> mGenericSwitches =
getGenericSwitches();
237 static std::map<std::string,std::string> mColorSchemes =
getColorSchemes();
246 for (
const auto& iter : mGenericSwitches)
248 if (
findParameter(sCmd, iter.first) && (nType ==
ALL || nType & iter.second.second))
250 else if (
findParameter(sCmd,
"no" + iter.first) && (nType ==
ALL || nType & iter.second.second))
443 unsigned int nPos =
findParameter(sCmd,
"colorrange",
'=') + 10;
458 if (sTemp.find(
",") != std::string::npos && sTemp.length() > 1)
460 if (sTemp.find(
',') && sTemp.find(
',') != sTemp.length()-1)
467 else if (!sTemp.find(
','))
469 _parser.
SetExpr(sTemp.substr(1));
472 else if (sTemp.find(
',') == sTemp.length()-1)
474 _parser.
SetExpr(sTemp.substr(0,sTemp.length()-1));
478 for (
unsigned int i = 0; i < 2; i++)
508 if (sTemp.find(
',') != std::string::npos && sTemp.length() > 1)
514 for (
int i = 0; i < 3; i++)
523 else if (sTemp ==
"sliding")
525 for (
int i = 0; i < 3; i++)
530 for (
int i = 0; i < 3; i++)
539 if (sTemp.find(
',') != std::string::npos && sTemp.length() > 1)
546 for (
int i = 0; i < 3; i++)
557 for (
int i = 0; i < 3; i++)
566 if (sTemp.find(
',') != std::string::npos && sTemp.length() > 1)
583 if (sTemp.find(
',') != std::string::npos && sTemp.length() > 1)
794 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
795 sTemp = sTemp.substr(1,sTemp.length()-2);
805 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
806 sTemp = sTemp.substr(1,sTemp.length()-2);
820 if (sTemp.find(
',') != std::string::npos)
822 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
823 sTemp = sTemp.substr(1,sTemp.length()-2);
829 for (
int i = 0; i < nResults; i++)
839 if (sDescList.front() ==
'{')
840 sDescList.erase(0,1);
841 if (sDescList.back() ==
'}')
842 sDescList.erase(sDescList.length()-1);
843 for (
size_t i = 2; i <
_lHlines.size(); i++)
845 if (!sDescList.length())
854 if (sStyles.front() ==
'{')
856 if (sStyles.back() ==
'}')
857 sStyles.erase(sStyles.length()-1);
858 for (
size_t i = 2; i <
_lHlines.size(); i++)
860 if (!sStyles.length())
875 if (sTemp.find(
',') != std::string::npos)
877 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
878 sTemp = sTemp.substr(1,sTemp.length()-2);
884 for (
int i = 0; i < nResults; i++)
894 if (sDescList.front() ==
'{')
895 sDescList.erase(0,1);
896 if (sDescList.back() ==
'}')
897 sDescList.erase(sDescList.length()-1);
898 for (
size_t i = 2; i <
_lVLines.size(); i++)
900 if (!sDescList.length())
909 if (sStyles.front() ==
'{')
911 if (sStyles.back() ==
'}')
912 sStyles.erase(sStyles.length()-1);
913 for (
size_t i = 2; i <
_lVLines.size(); i++)
915 if (!sStyles.length())
928 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
929 sTemp = sTemp.substr(1,sTemp.length()-2);
933 if (sAxesList.front() ==
'{')
934 sAxesList.erase(0,1);
936 if (sAxesList.back() ==
'}')
937 sAxesList.erase(sAxesList.length()-1);
945 if (sFormat.front() ==
'{')
948 if (sFormat.back() ==
'}')
949 sFormat.erase(sFormat.length()-1);
952 while (sAxesList.length())
958 else if (sAxis.find_first_of(
"xyz") != std::string::npos)
966 if (sTemp.find(
',') != std::string::npos)
968 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
969 sTemp = sTemp.substr(1,sTemp.length()-2);
982 if (sTemp.find(
',') != std::string::npos)
984 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
985 sTemp = sTemp.substr(1,sTemp.length()-2);
999 if (sTemp.find(
',') != std::string::npos || sTemp.find(
'"') != std::string::npos)
1001 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
1002 sTemp = sTemp.substr(1,sTemp.length()-2);
1044 if (sTemp.find(
',') != std::string::npos || sTemp.find(
'"') != std::string::npos)
1046 if (sTemp[0] ==
'(' && sTemp[sTemp.length()-1] ==
')')
1047 sTemp = sTemp.substr(1,sTemp.length()-2);
1088 unsigned int nPos =
findParameter(sCmd,
"colorscheme",
'=') + 11;
1091 if (sTemp.front() ==
'"')
1113 else if (__sColorScheme !=
"#" && __sColorScheme !=
"|" && __sColorScheme !=
"#|" && __sColorScheme !=
"|#")
1121 auto iter = mColorSchemes.find(sTemp);
1123 if (iter != mColorSchemes.end())
1191 unsigned int nPos =
findParameter(sCmd,
"bgcolorscheme",
'=') + 13;
1194 if (sTemp.front() ==
'"')
1203 if (__sBGColorScheme ==
"#"
1206 else if (__sBGColorScheme ==
"|"
1209 else if ((__sBGColorScheme ==
"#|" || __sBGColorScheme ==
"|#")
1222 else if (__sBGColorScheme !=
"#" && __sBGColorScheme !=
"|" && __sBGColorScheme !=
"#|" && __sBGColorScheme !=
"|#")
1230 auto iter = mColorSchemes.find(sTemp);
1232 if (iter != mColorSchemes.end())
1234 else if (sTemp ==
"real")
1251 unsigned int nPos =
findParameter(sCmd,
"plotcolors",
'=')+10;
1252 std::string sTemp =
getArgAtPos(__sCmd, nPos, STRINGEXTRACT);
1255 for (
unsigned int i = 0; i < sTemp.length(); i++)
1259 if (sTemp[i] ==
' ')
1269 std::string sTemp =
getArgAtPos(__sCmd, nPos, STRINGEXTRACT);
1270 for (
unsigned int i = 0; i < sTemp.length(); i++)
1272 if (sTemp[i] ==
'r' || sTemp[i] ==
'l')
1274 if (sTemp.length() > i+1 && (sTemp[i+1] ==
't' || sTemp[i+1] ==
'b'))
1279 else if (sTemp.length() > i+1 && (sTemp[i+1] ==
' ' || sTemp[i+1] ==
'r' || sTemp[i+1] ==
'l'))
1282 if (sTemp[i+1] ==
' ')
1285 else if (sTemp.length() == i+1)
1290 else if (sTemp[i] ==
't' || sTemp[i] ==
'b')
1292 if (sTemp.length() > i+1 && (sTemp[i+1] ==
'l' || sTemp[i+1] ==
'r'))
1297 else if (sTemp.length() > i+1 && (sTemp[i+1] ==
' ' || sTemp[i+1] ==
't' || sTemp[i+1] ==
'b'))
1300 if (sTemp[i+1] ==
' ')
1303 else if (sTemp.length() == i+1)
1308 else if (sTemp.substr(i,2) ==
" ")
1334 unsigned int nPos =
findParameter(sCmd,
"linestyles",
'=')+10;
1335 std::string sTemp =
getArgAtPos(__sCmd, nPos, STRINGEXTRACT);
1338 for (
unsigned int i = 0; i < sTemp.length(); i++)
1342 if (sTemp[i] ==
' ')
1352 unsigned int nPos =
findParameter(sCmd,
"linesizes",
'=')+9;
1353 std::string sTemp =
getArgAtPos(__sCmd, nPos, STRINGEXTRACT);
1355 for (
unsigned int i = 0; i < sTemp.length(); i++)
1359 if (sTemp[i] ==
' ')
1361 if (sTemp[i] <
'0' || sTemp[i] >
'9')
1370 unsigned int nPos =
findParameter(sCmd,
"pointstyles",
'=')+11;
1371 std::string sTemp =
getArgAtPos(__sCmd, nPos, STRINGEXTRACT);
1375 std::string sChar =
"";
1376 for (
unsigned int i = 0; i < sTemp.length(); i++)
1381 if (sTemp[i] ==
' ')
1386 if (sTemp[i] ==
'#' && i+1 < sTemp.length() && sTemp[i+1] !=
' ')
1395 if (sTemp[i] !=
'#')
1409 std::string sTemp =
getArgAtPos(__sCmd, nPos, STRINGEXTRACT);
1410 unsigned int nJump = 0;
1411 unsigned int nStyle = 0;
1412 for (
unsigned int i = 0; i < sTemp.length(); i += 4)
1417 if (sTemp.substr(i,4).find(
'#') != std::string::npos)
1419 for (
unsigned int j = 0; j < 4+nJump; j++)
1421 if (i+j >= sTemp.length())
1423 if (sTemp[i+j] ==
' ')
1425 if (sTemp[i+j] >=
'0' && sTemp[i+j] <=
'9')
1430 if (sTemp[i+j] ==
'#' && i+j+1 < sTemp.length() &&
checkPointChars(sTemp.substr(i+j,2)))
1433 if (sTemp[i+j+1] !=
' ')
1438 else if (sTemp[i+j] ==
'#')
1465 unsigned int nPos =
findParameter(sCmd,
"gridstyle",
'=')+9;
1466 std::string sTemp =
getArgAtPos(__sCmd, nPos, STRINGEXTRACT);
1467 for (
unsigned int i = 0; i < sTemp.length(); i += 3)
1469 for (
unsigned int j = 0; j < 3; j++)
1471 if (i+j >= sTemp.length())
1473 if (sTemp[i+j] ==
' ')
1475 if (sTemp[i+j] >=
'0' && sTemp[i+j] <=
'9')
1480 if (sTemp[i+j] ==
'#')
1515 if (sCoords.find(
'-') != std::string::npos)
1516 sCoords.erase(sCoords.find(
'-'));
1518 if (sCoords ==
"cartesian" || sCoords ==
"std")
1520 else if (sCoords ==
"polar" || sCoords ==
"polar_pz" || sCoords ==
"cylindrical")
1522 else if (sCoords ==
"polar_rp")
1524 else if (sCoords ==
"polar_rz")
1526 else if (sCoords ==
"spherical" || sCoords ==
"spherical_pt")
1528 else if (sCoords ==
"spherical_rp")
1530 else if (sCoords ==
"spherical_rt")
1539 if (sCoords.find(
'-') != std::string::npos)
1540 sCoords.erase(0, sCoords.find(
'-')+1);
1542 if (sCoords ==
"parametric")
1551 if (sTemp ==
"palatino")
1554 if (sTemp ==
"times")
1557 if (sTemp ==
"bookman")
1560 if (sTemp ==
"avantgarde")
1563 if (sTemp ==
"chancery")
1566 if (sTemp ==
"courier")
1569 if (sTemp ==
"helvetica")
1573 && (sTemp ==
"pagella"
1574 || sTemp ==
"adventor"
1576 || sTemp ==
"chorus"
1577 || sTemp ==
"cursor"
1579 || sTemp ==
"heroscn"
1580 || sTemp ==
"schola"
1581 || sTemp ==
"termes")
1600 unsigned int nPos = 0;
1628 std::string sExtension =
"";
1633 if (sExtension !=
".png"
1637 else if (sExtension !=
".eps" &&
findParameter(sCmd,
"oeps",
'='))
1639 else if (sExtension !=
".bps" &&
findParameter(sCmd,
"obps",
'='))
1641 else if (sExtension !=
".svg" &&
findParameter(sCmd,
"osvg",
'='))
1643 else if (sExtension !=
".tex" &&
findParameter(sCmd,
"otex",
'='))
1645 else if (sExtension !=
".tif" && sExtension !=
".tiff" &&
findParameter(sCmd,
"otif",
'='))
1647 else if (sExtension !=
".gif" &&
findParameter(sCmd,
"ogif",
'='))
1716 for (
int i = 0; i < 3; i++)
1793 for (
int i = 0; i < 4; i++)
1820 if (sCmd.find(
'[') != std::string::npos && (nType ==
ALL || nType &
GLOBAL))
1822 unsigned int nPos = 0;
1826 nPos = sCmd.find(
'[', nPos);
1827 if (nPos == std::string::npos)
1833 if (nPos != std::string::npos && sCmd.find(
']', nPos) != std::string::npos)
1835 auto args =
getAllArguments(__sCmd.substr(nPos, sCmd.find(
']', nPos) - nPos));
1837 for (
size_t i = 0; i < args.size(); i++)
1842 if (args[i].find(
':') == std::string::npos || args[i] ==
":")
1845 ranges[i].reset(args[i]);
1861 for (
size_t i = 0; i <=
ZRANGE; i++)
1873 for (
int n =
nRanges-1; n >= 0; n--)
1883 else if (nType ==
ALL || nType &
GLOBAL)
2018 ranges[i].reset(-10.0, 10.0);
2087 std::string sReturn =
"";
2088 std::string sSepString =
"; ";
2089 static std::map<std::string,std::pair<PlotData::LogicalPlotSetting,PlotData::ParamType>> mGenericSwitches =
getGenericSwitches();
2090 static std::map<std::string,std::string> mColorSchemes =
getColorSchemes();
2095 sSepString =
"\", \"";
2108 sReturn +=
"]" + sSepString;
2111 for (
const auto& iter : mGenericSwitches)
2113 if (
logicalSettings[iter.second.first] && iter.first !=
"reconstruct")
2114 sReturn += iter.first + sSepString;
2118 sReturn +=
"alpha" + sSepString;
2127 sReturn +=
"axisbind=";
2132 sReturn += sSepString;
2135 sReturn +=
"axisscale=[";
2137 for (
int i = 0; i < 4; i++)
2144 sReturn +=
"]" + sSepString;
2157 sReturn +=
"bgcolorscheme=";
2160 sReturn +=
"real" + sSepString;
2165 for (
const auto& iter : mColorSchemes)
2169 sReturn += iter.first + sSepString;
2184 sReturn +=
"colorscheme=";
2189 for (
const auto& iter : mColorSchemes)
2193 sReturn += iter.first + sSepString;
2210 sReturn +=
"complexmode=reim" + sSepString;
2212 sReturn +=
"complexmode=plane" + sSepString;
2215 sReturn +=
"spherical coords" + sSepString;
2217 sReturn +=
"polar coords" + sSepString;
2220 sReturn +=
"flow" + sSepString;
2225 sReturn +=
"grid=coarse" + sSepString;
2227 sReturn +=
"grid=fine" + sSepString;
2229 sReturn +=
"gridstyle=";
2236 sReturn += sSepString;
2242 sReturn +=
"lcont" + sSepString;
2244 sReturn +=
"legend=";
2247 sReturn +=
"bottomleft";
2249 sReturn +=
"bottomright";
2251 sReturn +=
"topleft";
2253 sReturn +=
"topright";
2255 sReturn += sSepString;
2258 sReturn +=
"legendstyle=onlycolors" + sSepString;
2261 sReturn +=
"legendstyle=onlystyles" + sSepString;
2264 sReturn +=
"lighting" + sSepString;
2267 sReturn +=
"lighting=smooth" + sSepString;
2280 sReturn +=
"logscale" + sSepString;
2284 sReturn +=
"xlog" + sSepString;
2286 sReturn +=
"ylog" + sSepString;
2288 sReturn +=
"zlog" + sSepString;
2290 sReturn +=
"clog" + sSepString;
2296 sReturn +=
"origin=";
2299 sReturn +=
"sliding" + sSepString;
2301 sReturn +=
"std" + sSepString;
2308 sReturn +=
"pcont" + sSepString;
2324 sReturn +=
"pipe" + sSepString;
2329 sReturn +=
"medium";
2332 sReturn +=
" resolution" + sSepString;
2339 sReturn +=
"tickstemplate=[";
2341 for (
int i = 0; i < 4; i++)
2352 sReturn += char(
'x'+i);
2360 sReturn +=
"]" + sSepString;
2361 sReturn +=
"tickslabels=[";
2363 for (
int i = 0; i < 4; i++)
2374 sReturn += char(
'x'+i);
2382 sReturn +=
"]" + sSepString;
2413 if (_sFileName.length())
2415 std::string sExt = _sFileName.substr(_sFileName.rfind(
'.'));
2417 if (sExt[sExt.length()-1] ==
'"')
2418 sExt = sExt.substr(0,sExt.length()-1);
2420 if (_sFileName.find(
'\\') == std::string::npos && _sFileName.find(
'/') == std::string::npos)
2447 if (sString.find(
'\t') == std::string::npos && sString.find(
'\n') == std::string::npos)
2450 for (
size_t i = 0; i < sString.length(); i++)
2452 if (sString[i] ==
'\t' && sString.substr(i+1,2) ==
"au")
2453 sString.replace(i, 1,
"\\t");
2455 if (sString[i] ==
'\n' && sString[i+1] ==
'u')
2456 sString.replace(i, 1,
"\\n");
2470 if (sString.front() ==
'"' && sString.back() ==
'"')
2471 return sString.substr(1,sString.length()-2);
2499 std::map<CoordinateSystem, AxisLabels> mLabels;
2501 mLabels[
CARTESIAN] = {
"\\i x",
"\\i y",
"\\i z"};
2502 mLabels[
POLAR_PZ] = {
"\\varphi [\\pi]",
"\\i z",
"\\rho"};
2503 mLabels[
POLAR_RP] = {
"\\rho",
"\\varphi [\\pi]",
"\\i z"};
2504 mLabels[
POLAR_RZ] = {
"\\rho",
"\\i z",
"\\varphi [\\pi]"};
2505 mLabels[
SPHERICAL_PT] = {
"\\varphi [\\pi]",
"\\vartheta [\\pi]",
"\\i r"};
2506 mLabels[
SPHERICAL_RP] = {
"\\i r",
"\\varphi [\\pi]",
"\\vartheta [\\pi]"};
2507 mLabels[
SPHERICAL_RT] = {
"\\i r",
"\\vartheta [\\pi]",
"\\varphi [\\pi]"};
std::string toLowerCase(const std::string &)
Converts uppercase to lowercase letters.
This class implements the basic input/ output file system and provides functionalities to work with f...
std::string ValidizeAndPrepareName(const std::string &_sFileName, const std::string &sExtension=".dat") const
This member function validizes the passed file name and creates the needed folders on-the-fly.
std::string ValidFileName(std::string _sFileName, const std::string sExtension=".dat", bool checkExtension=true, bool doCleanPath=true) const
This member function evaluates, whether the passed filename is a valid filename. One may supply a pre...
std::string sTokens[7][2]
This class represents a single interval in code providing reading access functionality.
void reset(const std::string &sDef)
Reset the interval with a new definition.
This class represents the central memory managing instance. It will handle all tables and clusters,...
bool containsTablesOrClusters(const std::string &sCmdLine)
This member function evaluates, whether the passed command line contains tables or clusters.
static NumeReKernel * getInstance()
This static member function returns a a pointer to the singleton instance of the kernel.
MemoryManager & getMemoryManager()
double floatSettings[FLOAT_SETTING_SIZE]
int intSettings[INT_SETTING_SIZE]
@ STR_BACKGROUNDCOLORSCHEME
void setSamples(int _nSamples)
Change the number of samples.
void setFileName(std::string _sFileName)
Change the output file name.
bool bDefaultAxisLabels[3]
std::string sCustomTicks[4]
std::string stringSettings[STR_SETTING_SIZE]
std::string getAxisLabel(size_t axis) const
Return the axis label associated to the selected axis.
std::string sTickTemplate[4]
unsigned short nSlices[3]
void replaceControlChars(std::string &sString)
Replaces tab and newlines correspondingly.
std::vector< Line > _lVLines
bool logicalSettings[LOG_SETTING_SIZE]
void reset()
Resets all settings to the initialisation stage.
std::string sAxisLabels[3]
void setParams(const std::string &__sCmd, int nType=ALL)
Identifies parameters and values in the passed parameter string and updates the selected type of the ...
bool getSettings(LogicalPlotSetting setting) const
std::string getParams(bool asstr=false) const
Return the internal plotting parameters as a human-readable string. Can be converted to an internal s...
void deleteData(bool bGraphFinished=false)
Delete the internal per-plot data (i.e. weak reset).
PlotData()
PlotData constructor. Calls PlotData::reset() for initialisation.
std::vector< Line > _lHlines
std::string removeSurroundingQuotationMarks(const std::string &sString)
Removes surrounding quotation marks.
This class manages the setting values of the internal (kernel) settings of this application.
std::string getDefaultPlotFont() const
Returns the current plotting font name.
size_t getPrecision() const
Returns the precision for displaying floating numbers in the terminal. This value determines the numb...
void SetExpr(StringView a_sExpr)
Set the expression. Triggers first time calculation thus the creation of the bytecode and scanning of...
value_type Eval()
Single-value wrapper around the vectorized overload of this member function.
Mathematical expressions parser.
string getDataElements(string &sLine, Parser &_parser, MemoryManager &_data, const Settings &_option, int options)
Searches the passed string for calls to any table or cluster and replaces them with internal vectors ...
CONSTCD14 std::enable_if< detail::no_overflow< Period, typenameTo::period >::value, To >::type floor(const std::chrono::duration< Rep, Period > &d)
CONSTCD14 To ceil(const std::chrono::duration< Rep, Period > &d)
MUP_BASETYPE value_type
The numeric datatype used by the parser.
bool isnan(const value_type &v)
std::vector< double > real(const std::vector< value_type > &vVec)
bool isinf(const value_type &v)
static bool checkLineChars(const std::string &sLineSet)
Static helper function to evaluate the passed line type characters for their validness.
static bool checkColorChars(const std::string &sColorSet)
Static helper function to evaluate the passed color characters for their validness.
static std::map< CoordinateSystem, AxisLabels > getLabelDefinitions()
Static helper function to create a map containing the standard axis labels for each coordinate system...
static std::map< std::string, std::string > getColorSchemes()
Static helper function to create a map containing all color schemes and their corresponding color cha...
static std::map< std::string, std::pair< PlotData::LogicalPlotSetting, PlotData::ParamType > > getGenericSwitches()
Static helper function to create a map containing the simple logical plot settings.
bool isNotEmptyExpression(const std::string &sExpr)
This function checks, whether the passed expression is non-empty (i.e. it contains more than white sp...
static bool checkPointChars(const std::string &sPointSet)
Static heloer function to evaluate the passeed point type characters for their validness.
const char * SECAXIS_DEFAULT_COLOR
static mu::value_type * evaluateNumerical(int &nResults, std::string sExpression)
Static helper function to evaluate numerical parameters.
void StripSpaces(std::string &)
Removes leading and trailing white spaces and tabulator characters.
int findParameter(const std::string &sCmd, const std::string &sParam, const char cFollowing)
This function searches the passed parameter in the passed command string. If something is found,...
Structure for simplification of the standard axis labels.
void setNames(const std::vector< std::string > &vNames)
Set the interval names.
std::vector< Interval > intervals
Structure for the horizontal and vertical lines in plots.
void activate(const std::string &sFormat="")
long long int intCast(const std::complex< double > &)
Casts the real part of the complex number to an integer and avoids rounding errors.
std::string toString(int)
Converts an integer to a string without the Settings bloat.