##// END OF EJS Templates
Updated libcatalogs -> fixes catalog issue...
Updated libcatalogs -> fixes catalog issue Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r43:54e194b00c35
r51:9aec54f98372
Show More
SpectrogramSeries.h
59 lines | 2.0 KiB | text/x-c | CLexer
#ifndef SCIQLOP_SPECTROGRAMSERIES_H
#define SCIQLOP_SPECTROGRAMSERIES_H
#include "CoreGlobal.h"
#include <Data/DataSeries.h>
/**
* @brief The SpectrogramSeries class is the implementation for a data series representing a
* spectrogram.
*
* It defines values on a x-axis and a y-axis.
*/
class SCIQLOP_CORE_EXPORT SpectrogramSeries : public DataSeries<2> {
public:
/// Ctor
explicit SpectrogramSeries(std::vector<double> xAxisData, std::vector<double> yAxisData,
std::vector<double> valuesData, const Unit &xAxisUnit,
const Unit &yAxisUnit, const Unit &valuesUnit,
double xResolution = std::numeric_limits<double>::quiet_NaN());
/// Ctor directly with the y-axis
explicit SpectrogramSeries(std::shared_ptr<ArrayData<1> > xAxisData, const Unit &xAxisUnit,
std::shared_ptr<ArrayData<2> > valuesData, const Unit &valuesUnit,
OptionalAxis yAxis,
double xResolution = std::numeric_limits<double>::quiet_NaN());
/// @sa DataSeries::clone()
std::unique_ptr<IDataSeries> clone() const override;
/// @sa DataSeries::subDataSeries()
std::shared_ptr<IDataSeries> subDataSeries(const DateTimeRange &range) override;
inline double xResolution() const noexcept { return m_XResolution; }
void erase(DataSeriesIterator first, DataSeriesIterator last) override
{
DataSeries<2>::erase(first,last);
updateResolution();
}
void insert(DataSeriesIterator first, DataSeriesIterator last, bool prepend = false) override
{
DataSeries<2>::insert(first,last, prepend);
updateResolution();
}
void merge(IDataSeries *dataSeries) override
{
DataSeries<2>::merge(dataSeries);
updateResolution();
}
private:
void updateResolution();
double m_XResolution; ///< Resolution used on x-axis to build the spectrogram
};
#endif // SCIQLOP_SPECTROGRAMSERIES_H