58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
#pragma once
|
|
#include "../Renderable.h"
|
|
namespace YSG {
|
|
struct Sweep_Frequent_Private;
|
|
class LIB_DECL Sweep_Frequent : public Renderable {
|
|
public:
|
|
Sweep_Frequent_Private* d();
|
|
Render_Data* create_render_data() override;
|
|
Render_State* create_render_state() override;
|
|
Input_Data* create_input_data() override;
|
|
protected:
|
|
Sweep_Frequent();
|
|
friend struct Sweep_Frequent_Private;
|
|
friend struct Sweep_Frequent_Render_State;
|
|
friend struct Sweep_Frequent_Input_Data;
|
|
public:
|
|
void give_data(const QVector<double>& data);
|
|
PROP(Axis*, frequent_axis)
|
|
PROP(Axis*, power_axis)
|
|
PROP(Range, frequent_range)
|
|
PROP(int, block_frequent_point_size)
|
|
PROP(int, block_num)
|
|
PROP(QPen, pen)
|
|
PROP(QPen, cur_frequent_pen)
|
|
struct Builder;
|
|
};
|
|
struct Sweep_Frequent_Prop {
|
|
Axis* frequent_axis{};
|
|
Axis* power_axis{};
|
|
Range frequent_range{};
|
|
int block_frequent_point_size{};
|
|
int block_num{};
|
|
QPen pen;
|
|
QPen cur_frequent_pen;
|
|
Sweep_Frequent_Prop() {
|
|
pen = QPen(Qt::yellow);
|
|
cur_frequent_pen = QPen(Qt::red);
|
|
cur_frequent_pen.setWidth(2);
|
|
}
|
|
};
|
|
struct LIB_DECL Sweep_Frequent::Builder : Sweep_Frequent_Prop{
|
|
PROP_B(Axis *, frequent_axis)
|
|
PROP_B(Axis *, power_axis)
|
|
PROP_B(Range, frequent_range)
|
|
PROP_B(int, block_frequent_point_size)
|
|
PROP_B(int, block_num)
|
|
PROP_B(QPen, pen)
|
|
PROP_B(QPen, cur_frequent_pen)
|
|
SETTER(QString, layerName, "plottable")
|
|
Builder(Axis * frequent_axis, Axis * power_axis);
|
|
Sweep_Frequent * build();
|
|
protected:
|
|
Plot * plot{};
|
|
|
|
|
|
};
|
|
}
|