1#ifndef _VISUALIZATION_H_
2#define _VISUALIZATION_H_
13#include "../../Constants.h"
58 const std::string& tab_title,
59 const std::filesystem::path& output_dir = {});
73void add_plot_tab(
const std::string& title, std::function<
void()> fn);
84 const std::vector<double>& freq,
85 const std::vector<std::vector<double>>& mag_dB,
86 const std::vector<std::vector<double>>& phase_deg,
87 const std::vector<std::string>& labels,
88 const std::string& title);
97 const std::vector<std::vector<std::complex<double>>>& H_data,
98 const std::vector<std::string>& labels,
99 const std::string& title);
107 const std::vector<std::complex<double>>& eigvals,
108 const std::string& title);
118 const std::vector<std::vector<double>>& P,
119 const std::vector<std::string>& state_labels,
120 const std::vector<std::string>& mode_labels,
121 const std::string& title);
130 const std::vector<double>& t,
131 const Eigen::MatrixXd& Xabc,
132 const std::string& title);
141 const std::vector<double>& t,
142 const std::vector<Eigen::MatrixXd>& Xabc_groups,
143 const std::string& title);
void visualization_save_tab(const std::string &tab_title, const std::filesystem::path &output_dir={})
Schedules a PNG capture of the named tab on the next rendered frame.
Definition Visualization.cpp:491
std::vector< std::string > visualization_tab_titles()
Titles of tabs currently registered in the visualization window.
Definition Visualization.cpp:505
void plot_participation_factors_implot(const std::vector< std::vector< double > > &P, const std::vector< std::string > &state_labels, const std::vector< std::string > &mode_labels, const std::string &title)
Plots participation factor heatmap (states vs modes).
Definition Visualization.cpp:738
void visualization_clear_tabs()
Remove all registered plot tabs (e.g.
Definition Visualization.cpp:457
void plot_eigenvalues_implot(const std::vector< std::complex< double > > &eigvals, const std::string &title)
Plots eigenvalues in the complex plane.
Definition Visualization.cpp:679
void add_plot_tab(const std::string &title, std::function< void()> fn)
Registers a custom ImGui/ImPlot draw callback as a new tab.
Definition Visualization.cpp:517
void bode_plot_implot(const std::vector< double > &freq, const std::vector< std::vector< double > > &mag_dB, const std::vector< std::vector< double > > &phase_deg, const std::vector< std::string > &labels, const std::string &title)
Opens a Bode magnitude/phase plot in the visualization window.
Definition Visualization.cpp:526
void visualization_stop()
Closes the visualization window and stops the GUI thread.
Definition Visualization.cpp:431
void visualization_set_embedded_mode(bool enabled)
Use the host ImGui/GLFW context (HarmonyUI) instead of a background window.
Definition Visualization.cpp:426
void visualization_draw_embedded(const char *tabBarId="HarmonyPlotTabs")
Draw plot tabs inside the current ImGui window (embedded / HarmonyUI mode).
Definition Visualization.cpp:464
void plot_abc_groups_implot(const std::vector< double > &t, const std::vector< Eigen::MatrixXd > &Xabc_groups, const std::string &title)
Plots multiple abc waveform groups on shared axes.
Definition Visualization.cpp:926
void nyquist_plot_implot(const std::vector< std::vector< std::complex< double > > > &H_data, const std::vector< std::string > &labels, const std::string &title)
Opens a Nyquist plot in the visualization window.
Definition Visualization.cpp:591
void visualization_process_pending_save(GLFWwindow *window)
Capture a pending PNG save after ImGui::Render() on window.
Definition Visualization.cpp:469
bool visualization_is_running()
Returns whether the visualization window is currently open.
Definition Visualization.cpp:442
bool visualization_has_tabs()
Returns whether plot tabs are registered.
Definition Visualization.cpp:451
void visualization_wait()
Blocks until the user closes the visualization window.
Definition Visualization.cpp:482
void plot_abc_waveforms_implot(const std::vector< double > &t, const Eigen::MatrixXd &Xabc, const std::string &title)
Plots three-phase abc waveforms over time.
Definition Visualization.cpp:896
void viz_opf(const OPFVisualData &data)
Registers an "AC/DC OPF" network diagram tab in the visualization window.
Definition Visualization.cpp:972
Container for all OPF topology and solution data needed by viz_opf().
Definition Visualization.h:148
int nconvs_dc
Definition Visualization.h:173
Eigen::MatrixXd conv_dc
Definition Visualization.h:156
Eigen::VectorXd qs_dc_k
Definition Visualization.h:160
int ngrids
Definition Visualization.h:175
Eigen::VectorXd ps_dc_k
Definition Visualization.h:159
std::vector< Eigen::MatrixXd > pij_ac_k
Definition Visualization.h:170
Eigen::MatrixXd gen_entire_ac
Definition Visualization.h:152
std::vector< int > nbuses_ac
Definition Visualization.h:163
int nbuses_dc
Definition Visualization.h:174
double pol_dc
Definition Visualization.h:179
std::vector< int > ngens_ac
Definition Visualization.h:164
double baseMW_dc
Definition Visualization.h:178
std::vector< Eigen::MatrixXd > qij_ac_k
Definition Visualization.h:171
Eigen::MatrixXd branch_entire_ac
Definition Visualization.h:151
Eigen::VectorXd vn2_dc_k
Definition Visualization.h:158
Eigen::MatrixXd branch_dc
Definition Visualization.h:155
double baseMVA_ac
Definition Visualization.h:177
std::vector< Eigen::VectorXd > pgen_ac_k
Definition Visualization.h:167
std::vector< Eigen::VectorXd > vn2_ac_k
Definition Visualization.h:166
Eigen::MatrixXd pij_dc_k
Definition Visualization.h:161
Eigen::MatrixXd bus_entire_ac
Definition Visualization.h:150
std::vector< Eigen::VectorXd > qgen_ac_k
Definition Visualization.h:168
Eigen::MatrixXd bus_dc
Definition Visualization.h:154