AsciiPlotOutput.hh 1.39 KB
/*
 * AsciiPlotOutput.hh
 *
 *  Created on: 30 oct. 2013
 *      Author: CS
 */

#ifndef ASCIIPLOTOUTPUT_HH_
#define ASCIIPLOTOUTPUT_HH_

#include "AsciiPlotOutputNode.hh"
#include "XYPlot.hh"
#include "PlotOutput.hh"
#include "NodeCfg.hh"
#include "PlotLogger.hh"

namespace plot {

/**
 * Plot just for test. Outputs plot properties
 */
class AsciiPlotOutput: public plot::XYPlot {
public:
	AsciiPlotOutput(AMDA::Parameters::ParameterManager& manager,
			boost::shared_ptr<Panel> panel);
	virtual ~AsciiPlotOutput();

	/**
	 * @overload plot::PanelPlotOutput
	 */
	virtual const std::string typeName(){
		return ASCIIPLOT_NODENAME;
	}

	/**
	 * @overload plot::PanelPlotOutput
	 */
	virtual const std::string subTypeName(){
		return ASCIIPLOT_NODENAME;
	}

	/**
 	 * @brief return true if at least data is ploted
 	 */
	bool draw(double startTime, double stopTime, int intervalIndex, bool isFirstInterval, bool isLastInterval);

protected:
	/**
	 * @overload PanelPlotOutput::drawSeries(double startDate, double stopDate, std::string pParamId, SeriesProperties const& pSerie)
	 * @brief Draw series of parameter on plot.
	 */
	void drawSeries(double startDate, double stopDate, int intervalIndex, std::string pParamId,
			SeriesProperties& pSerie,
			AMDA::Common::ParameterIndexComponent pParamIndex,
			ParameterAxes& param, bool moreThanOneSerieForAxis);
};


} /* namespace plot */
#endif /* ASCIIPLOTOUTPUT_HH_ */