#pragma once #include "../RenderAble.h" namespace YSG { struct SweepFrequentPrivate; class LIB_DECL SweepFrequent : public RenderAble { public: Q_Ptr2(SweepFrequent) void giveData(const QVector& data); PROP(Axis*, frequentAxis) PROP(Axis*, powerAxis) PROP(Range, frequentRange) PROP(int, blockFrequentPointSize) PROP(int, blockNum) PROP(QPen, pen) PROP(QPen, curFrequentPen) struct Builder; }; struct SweepFrequent_Prop { Axis *frequentAxis{}; Axis *powerAxis{}; Range frequentRange{}; int blockFrequentPointSize{}; int blockNum{}; QPen pen; QPen curFrequentPen; SweepFrequent_Prop() { pen = QPen(Qt::yellow); curFrequentPen = QPen(Qt::red); curFrequentPen.setWidth(2); } }; struct LIB_DECL SweepFrequent::Builder : SweepFrequent_Prop { PROP_B(Axis*, frequentAxis) PROP_B(Axis*, powerAxis) PROP_B(Range, frequentRange) PROP_B(int, blockFrequentPointSize) PROP_B(int, blockNum) PROP_B(QPen, pen) PROP_B(QPen, curFrequentPen) SETTER(QString, layerName, "plottable") Builder(Axis* frequentAxis, Axis* powerAxis); SweepFrequent* build(); protected: Plot *plot{}; }; }