12 #ifndef GLVIS_THREADS_HPP
13 #define GLVIS_THREADS_HPP
20 #include <condition_variable>
31 std::mutex glvis_mutex;
32 std::condition_variable glvis_cond;
40 NEW_MESH_AND_SOLUTION = 1,
62 std::atomic<bool> command_ready{
false};
69 std::string screenshot_filename;
70 std::string key_commands;
71 int window_x, window_y;
72 int window_w, window_h;
73 std::string window_title;
74 std::string plot_caption;
75 std::string axis_label_x;
76 std::string axis_label_y;
77 std::string axis_label_z;
78 double view_ang_theta, view_ang_phi;
80 int subdiv_tot, subdiv_bdr;
81 double val_min, val_max;
83 double view_center_x, view_center_y;
84 std::string autoscale_mode;
85 int palette, palette_repeat;
87 std::string autopause_mode;
107 std::unique_ptr<GridFunction> _new_g);
114 int AxisLabels(
const char *a_x,
const char *a_y,
const char *a_z);
117 int Zoom(
double factor);
125 int Camera(
const double cam[]);
152 std::unique_ptr<Mesh> new_m;
153 std::unique_ptr<GridFunction> new_g;
159 std::atomic<bool> terminate_thread {
false};
int ValueRange(double minv, double maxv)
bool FixElementOrientations()
int WindowTitle(const char *title)
int WindowGeometry(int x, int y, int w, int h)
int SetShading(const char *shd)
int AxisLabels(const char *a_x, const char *a_y, const char *a_z)
vector< unique_ptr< istream >> StreamCollection
std::vector< std::unique_ptr< std::istream >> StreamCollection
communication_thread(StreamCollection _is, GLVisCommand *cmd)
int NewMeshAndSolution(std::unique_ptr< Mesh > _new_m, std::unique_ptr< GridFunction > _new_g)
int PlotCaption(const char *caption)
int KeyCommands(const char *keys)
int WindowSize(int w, int h)
int Autoscale(const char *mode)
int Subdivisions(int tot, int bdr)
int Screenshot(const char *filename)
int Autopause(const char *mode)
GLVisCommand(VisualizationSceneScalarData **_vs, StreamState &thread_state, bool *_keep_attr)
int ViewCenter(double x, double y)
int ViewAngles(double theta, double phi)
int Camera(const double cam[])