Files
Renderive/YSGraphic_Core/plottable/Sweep_Frequent.h
T
2026-07-23 18:11:07 +08:00

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{};
};
}