FillSerieSerie.hh 2.03 KB
/*
 * FillSerieSerie.hh
 *
 *  Created on: 14/08/2014
 *      Author: AKKA
 */

#ifndef FILLSERIESERIE_HH_
#define FILLSERIESERIE_HH_

#include <string>

#include "ParameterIndexesTool.hh"
#include "Color.hh"


namespace plot {
/**
 * Class holding properties used when filling an area between a serie and a constant.
 */
class FillSerieSerie {
public:

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

	FillSerieSerie();

	FillSerieSerie(const FillSerieSerie& ref_);

	FillSerieSerie& operator=(const FillSerieSerie& ref_);

	virtual ~FillSerieSerie();

	int getFirstSerieId() const;
	void setFirstSerieId(int firstSerieId);

	/*
	 * For the moment, not used.
	 * The index of the serie is using (so the serie definition must be a scalar)
	 */
	AMDA::Common::ParameterIndexComponent& getFirstSerieIndex();
	void setFirstSerieIndex(AMDA::Common::ParameterIndexComponent& serieIndex);

	int getSecondSerieId() const;
	void setSecondSerieId(int secondSerieId);

	/*
	 * For the moment, not used.
	 * The index of the serie is using (so the serie definition must be a scalar)
	 */
	AMDA::Common::ParameterIndexComponent& getSecondSerieIndex();
	void setSecondSerieIndex(AMDA::Common::ParameterIndexComponent& serieIndex);

	bool isColorGreaterSpecified() const;
	void setColorGreaterSpecified(bool colorGreaterSpecified);

	const Color& getColorGreater() const;
	Color& getColorGreater();
	void setColorGreater(const Color& colorGreater);

	bool isColorLessSpecified() const;
	void setColorLessSpecified(bool colorLessSpecified);

	const Color& getColorLess() const;
	Color& getColorLess();
	void setColorLess(const Color& colorLess);

private:
	int		_firstSerieId;
	AMDA::Common::ParameterIndexComponent _firstSerieIndex;
	int		_secondSerieId;
	AMDA::Common::ParameterIndexComponent _secondSerieIndex;
	bool	_colorGreaterSpecified;
	Color 	_colorGreater;
	bool	_colorLessSpecified;
	Color 	_colorLess;
};

} /* namespace plot */

#endif /* FILLSERIESERIE_HH_ */