Hermes2D
3.0
|
Represents a simple visualization window. More...
#include <view.h>
Public Member Functions | |
void | init () |
View (const char *title, WinGeom *wg=nullptr) | |
View (char *title, WinGeom *wg=nullptr) | |
int | create () |
void | close () |
void | refresh () |
Refreshes views. | |
const char * | get_title () const |
Returns the title. | |
void | set_title (const char *msg,...) |
Changes the window name (in its title-bar) to 'title'. | |
void | set_min_max_range (double min, double max) |
void | auto_min_max_range () |
void | get_min_max_range (double &min, double &max) |
void | show_scale (bool show=true) |
void | set_scale_position (int horz, int vert) |
void | set_scale_size (int width, int height, int numticks) |
void | set_scale_format (const char *fmt) |
void | fix_scale_width (int width=80) |
void | save_screenshot (const char *bmpname, bool high_quality=false) |
void | save_numbered_screenshot (const char *format, int number, bool high_quality=false) |
void | set_palette (ViewPaletteType type) |
void | set_num_palette_steps (int num) |
void | set_palette_filter (bool linear) |
void | wait_for_close () |
void | wait_for_draw () |
void | draw_help () |
virtual void | reset_view (bool force_reset) |
Resets view based on the axis-aligned bounding box of the mesh. Assumes that the bounding box is set up. Does not reset if view_not_reset is false. | |
Static Public Member Functions | |
static void | wait_for_keypress (const char *text=nullptr) |
Waits for keypress. Deprecated. | |
static void | wait (const char *text) |
Closes all views at once. | |
static void | wait (ViewWaitEvent wait_event=HERMES_WAIT_CLOSE, const char *text=nullptr) |
Waits for an event. | |
Protected Member Functions | |
void | draw_fps () |
draws current FPS | |
virtual void | on_create (int output_id) |
virtual void | on_display () |
virtual void | on_reshape (int width, int height) |
virtual void | on_mouse_move (int x, int y) |
virtual void | on_left_mouse_down (int x, int y) |
virtual void | on_left_mouse_up (int x, int y) |
virtual void | on_left_mouse_double_click (int x, int y) |
virtual void | on_right_mouse_down (int x, int y) |
virtual void | on_right_mouse_up (int x, int y) |
virtual void | on_right_mouse_double_click (int x, int y) |
virtual void | on_middle_mouse_down (int x, int y) |
virtual void | on_middle_mouse_up (int x, int y) |
virtual void | on_middle_mouse_double_click (int x, int y) |
virtual void | on_key_down (unsigned char key, int x, int y) |
virtual void | on_special_key (int key, int x, int y) |
virtual void | on_entry (int state) |
virtual void | on_close () |
virtual void | update_layout () |
Updates layout, i.e., centers mesh. | |
void | create_gl_palette () |
Creates pallete texture in OpenGL. Assumes that view_sync is locked. | |
virtual void | get_palette_color (double x, float *gl_color) |
Fills gl_color with palette color. Assumes that gl_color points to a vector of three components (RGB). | |
double | untransform_x (double x) |
double | untransform_y (double y) |
virtual void | clear_background () |
Clears background. | |
void | pre_display () |
void | display_antialiased () |
void | set_ortho_projection (bool no_jitter=false) |
void | set_3d_projection (int fov, double znear, double zfar) |
void | draw_text (double x, double y, const char *text, int align=-1) |
int | get_text_width (const char *text) |
char * | get_screenshot_file_name () |
void | save_screenshot_internal (const char *filename) |
virtual void | scale_dispatch () |
virtual int | measure_scale_labels () |
void | draw_continuous_scale (char *title, bool righttext) |
void | draw_discrete_scale (int numboxes, const char *boxnames[], const float boxcolors[][3]) |
void | update_tex_adjust () |
virtual const char * | get_help_text () const =0 |
Static Protected Member Functions | |
static double | get_tick_count () |
returns a current time[in ms] | |
Protected Attributes | |
double | rendering_frames [FPS_FRAME_SIZE] |
time spend in rendering of frames[in ms] | |
int | rendering_frames_top |
the new_ location of the next FPS | |
bool | view_not_reset |
True if the view was not reset and therefore it has to be. | |
double | vertices_min_x |
AABB of shown mesh. | |
double | vertices_max_x |
double | vertices_min_y |
double | vertices_max_y |
double | scale |
double | log_scale |
double | trans_x |
double | trans_y |
double | center_x |
double | center_y |
int | margin |
int | lspace |
int | rspace |
int | mouse_x |
int | mouse_y |
int | scx |
int | scy |
double | objx |
double | objy |
bool | dragging |
bool | scaling |
std::string | title |
int | output_id |
int | output_x |
int | output_y |
int | output_width |
int | output_height |
float | jitter_x |
float | jitter_y |
bool | hq_frame |
bool | frame_ready |
ViewPaletteType | pal_type |
int | pal_steps |
int | pal_filter |
double | tex_scale |
double | tex_shift |
bool | range_auto |
double | range_min |
double | range_max |
bool | b_scale |
bool | b_help |
bool | scale_focused |
bool | scale_dragging |
int | pos_horz |
int | pos_vert |
int | scale_x |
int | scale_y |
int | scale_width |
int | scale_height |
int | labels_width |
int | scale_numticks |
int | scale_box_height |
int | scale_box_skip |
char | scale_fmt [20] |
int | scale_fixed_width |
bool | want_screenshot |
std::string | screenshot_filename |
unsigned int | gl_pallete_tex_id |
OpenGL texture object ID. | |
Static Protected Attributes | |
static int | screenshot_no = 1 |
Represents a simple visualization window.
View is a base class providing a simple OpenGL visualization window. Its task is to define basic functionality, such as the ability of the window to be responsive even when the main program thread is busy with calculations (ie., the windows are run in a background thread), to provide zooming and panning capabilities for use by the descendant classes, etc.
void Hermes::Hermes2D::Views::View::save_numbered_screenshot | ( | const char * | format, |
int | number, | ||
bool | high_quality = false |
||
) |
Like save_screenshot(), but forms the file name in printf-style using the 'number' parameter, e.g., format = "screen%03d.bmp" and number = 5 gives the file name "screen005.bmp".
void Hermes::Hermes2D::Views::View::save_screenshot | ( | const char * | bmpname, |
bool | high_quality = false |
||
) |
Saves the current content of the window to a .BMP file. If 'high_quality' is true, an anti-aliased frame is rendered and saved.
Definition at line 904 of file view.cpp.
Referenced by save_numbered_screenshot().