ColorAxis.hh 1.29 KB
/*
 * ColorAxis.hh
 *
 *  Created on: 30 jun. 2014
 *      Author: AKKA
 */

#ifndef COLORAXIS_HH_
#define COLORAXIS_HH_

#include "DigitalAxis.hh"
#include "ColormapManager.hh"

namespace plot {

class ColorAxis: public plot::DigitalAxis {

public:

	ColorAxis() :
			DigitalAxis() {//Axis(true /* isZAxis */) {
		_isZAxis       = true;
		_position 	   = PlotCommon::Position::POS_RIGHT;
		_color._colorMapIndex = ColormapManager::getInstance()._defaultColorAxis;
	}

	virtual Format getFormat();

	virtual std::string getPlotOpt();

	void setMinValColor(Color minValColor)
	{
		_minValColor = minValColor;
	}

	void setMaxValColor(Color maxValColor)
	{
		_maxValColor = maxValColor;
	}

	Color getMinValColor(void)
	{
		return _minValColor;
	}

	Color getMaxValColor(void)
	{
		return _maxValColor;
	}

	// Getter function to retrieve the colorsList
	const std::vector<std::array<int, 3>>& getColorsList() const {
		return _colorsList;
	}

	// Setter function to set the colorsList
	void setColorsList(const std::vector<std::array<int, 3>>& newList) {
		_colorsList = newList;
	}

	/**
	 * @brief Write axis context
	 */
	void writeContext(ContextFileWriter& writer);

private :
	Color _minValColor;

	Color _maxValColor;

	std::vector<std::array<int, 3>> _colorsList;
};

} /* namespace plot */
#endif /* COLORAXIS_HH_ */