结构优化

This commit is contained in:
2026-07-30 18:09:03 +08:00
parent a8b2d1202b
commit 78f42f892e
7 changed files with 123 additions and 110 deletions
@@ -15,7 +15,7 @@
static renderive::Range frequent_range = {-12000, 12000};
static double max = 160;
QWidget* Intermediate_Frequency_Widget::create_spectrogram_power_plot() {
class Spectrum_Plot : public renderive::Plot {
class Spectrum_Plot : public renderive::Latency_Eager_Plot {
public:
std::shared_ptr<renderive::Frequency_Axis> x_axis{};
std::shared_ptr<renderive::Axis> y_axis{};
@@ -23,18 +23,21 @@ QWidget* Intermediate_Frequency_Widget::create_spectrogram_power_plot() {
std::shared_ptr<renderive::Spectrum> sp{};
QMenu* menu{};
void init() override {
Plot::init();
Latency_Eager_Plot::init();
object_name = "Spectrum_Plot";
auto data = create_renderable_node(get_root_renderable(), "Data_Renderable");
auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable");
auto frequency_axis_cache = create_renderable_node(get_root_renderable(), "Frequency_Axis_Cache");
auto power_axis_cache = create_renderable_node(get_root_renderable(), "Power_Axis_Cache");
auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable");
x_axis = renderive::Frequency_Axis::Builder(axis, Qt::Horizontal)
frequency_axis_cache->set_cache_mode(renderive::Renderable_Cache_Mode::Local_Pixel);
power_axis_cache->set_cache_mode(renderive::Renderable_Cache_Mode::Local_Pixel);
x_axis = renderive::Frequency_Axis::Builder(frequency_axis_cache, Qt::Horizontal)
.set_tick_length(-10)
.set_coord_range(frequent_range)
.set_tick_length(-10)
.set_sub_tick_length(-5)
.build();
y_axis = renderive::Axis::Builder(axis, Qt::Vertical)
y_axis = renderive::Axis::Builder(power_axis_cache, Qt::Vertical)
.set_coord_range({160, 0})
.set_unit_text("功率")
.build();
@@ -79,7 +82,7 @@ QWidget* Intermediate_Frequency_Widget::create_spectrogram_power_plot() {
return w;
}
QWidget* Intermediate_Frequency_Widget::create_Afterglow_Plot() {
class Afterglow_Plot : public renderive::Plot {
class Afterglow_Plot : public renderive::Latency_Eager_Plot {
public:
std::shared_ptr<renderive::Frequency_Axis> x_axis{};
std::shared_ptr<renderive::Axis> y_axis{};
@@ -87,18 +90,21 @@ QWidget* Intermediate_Frequency_Widget::create_Afterglow_Plot() {
std::shared_ptr<renderive::Multi_Select_Rect> msr{};
QMenu* menu{};
void init() override {
Plot::init();
Latency_Eager_Plot::init();
object_name = "Afterglow_Plot";
auto data = create_renderable_node(get_root_renderable(), "Data_Renderable");
auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable");
auto frequency_axis_cache = create_renderable_node(get_root_renderable(), "Frequency_Axis_Cache");
auto power_axis_cache = create_renderable_node(get_root_renderable(), "Power_Axis_Cache");
auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable");
x_axis = renderive::Frequency_Axis::Builder(axis, Qt::Horizontal)
frequency_axis_cache->set_cache_mode(renderive::Renderable_Cache_Mode::Local_Pixel);
power_axis_cache->set_cache_mode(renderive::Renderable_Cache_Mode::Local_Pixel);
x_axis = renderive::Frequency_Axis::Builder(frequency_axis_cache, Qt::Horizontal)
.set_coord_range(frequent_range)
.set_tick_length(-10)
.set_sub_tick_length(-5)
.set_use_drag(true)
.build();
y_axis = renderive::Axis::Builder(axis, Qt::Vertical)
y_axis = renderive::Axis::Builder(power_axis_cache, Qt::Vertical)
.set_coord_range({160, 0})
.set_use_drag(true)
.build();