Blame view

src/ParamOutputImpl/Plot/XSeriesProperties.hh 2.37 KB
fbe3c2bb   Benjamin Renard   First commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/*
 * XSerieProperties.hh
 *
 *  Created on: 13 déc. 2013
 *      Author: CS
 */

#ifndef XSERIESPROPERTIES_HH_
#define XSERIESPROPERTIES_HH_

#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
#include <map>

#include "ParameterIndexesTool.hh"

namespace plot {

/**
 * X Serie properties for XYPlot
 */
class XSeriesProperties {
public:
	XSeriesProperties() :
			_index(-1,-1),
			_computeExpression(""),
			_computeExpressionName(""),
			_min(nan("")),
			_max(nan(""))
	{
	}

	virtual ~XSeriesProperties() {
	}

	AMDA::Common::ParameterIndexComponent getIndex() const {
		return _index;
	}

	void setIndex(AMDA::Common::ParameterIndexComponent index) {
		_index = index;
	}

	std::string getAxisId() const {
		return _xAxisId;
	}

	void setAxisId(std::string axisId) {
		_xAxisId = axisId;
	}

	const std::string& getComputeExpression() const {
		return _computeExpression;
	}

	void setComputeExpression(const std::string& computeExpression) {
		_computeExpression = computeExpression;
	}

	const std::string& getComputeExpressionName() const {
		return _computeExpressionName;
	}

	void setComputeExpressionName(const std::string& computeExpressionName) {
		_computeExpressionName = computeExpressionName;
	}

	/**
	 * Adds a paramId to the paramId vector if not already in.
	 */
	void addParamId(const std::string &relatedYParamId, const std::string &xParamId)
	{
		_paramIds[relatedYParamId] = xParamId;
	}

	std::map<std::string, std::string> &getXParamIds() {
		return _paramIds;
	}

	double getMax() const {
		return _max;
	}

	void setMax(double max) {
		_max = max;
	}

	double getMin() const {
		return _min;
	}

	void setMin(double min) {
		_min = min;
	}

	/*
	 * Dumps properties for test.
	 */
	void dump(std::ostream& out_, std::string& prefix_);

private :

	/**
	 * xAxis id index
	 */
	std::string _xAxisId;

	/**
	 * Component index
	 */
	AMDA::Common::ParameterIndexComponent _index;

	/**
	 * Compute expression used to set expression results as x values
	 * instead of parameter index
	 */
	std::string _computeExpression;

	/**
	 * Name of the compute expression.
	 * Used for legend axis
	 */
	std::string _computeExpressionName;

	/**
	 * Related Param Ids
	 */
	std::map<std::string, std::string> _paramIds;

	/*
	 * Min acceptable value
	 */
	double		_min;

	/*
	 * Max acceptable value
	 */
	double		_max;
};

} /* namespace plot */
#endif /* XSERIESPROPERTIES_HH_ */