Hermes2D
3.0
|
Visualizes the basis functions of a space. More...
#include <base_view.h>
Public Member Functions | |
BaseView (const char *title="BaseView", WinGeom *wg=nullptr) | |
BaseView (char *title, WinGeom *wg=nullptr) | |
void | show (SpaceSharedPtr< Scalar > space, int item=H2D_FN_VAL_0) |
Public Member Functions inherited from Hermes::Hermes2D::Views::ScalarView | |
void | init () |
ScalarView (const char *title="ScalarView", WinGeom *wg=nullptr) | |
ScalarView (char *title, WinGeom *wg=nullptr) | |
void | show (MeshFunctionSharedPtr< double > sln, int item=H2D_FN_VAL_0, MeshFunctionSharedPtr< double > xdisp=nullptr, MeshFunctionSharedPtr< double > ydisp=nullptr, double dmult=1.0) |
void | show (MeshFunctionSharedPtr< std::complex< double > > sln, int item=H2D_FN_VAL_0, MeshFunctionSharedPtr< double > xdisp=nullptr, MeshFunctionSharedPtr< double > ydisp=nullptr, double dmult=1.0) |
void | show_linearizer_data (double eps, int item=H2D_FN_VAL_0) |
void | show_mesh (bool show=true) |
void | show_bounding_box (bool show=true) |
void | show_contours (double step, double orig=0.0) |
void | hide_contours () |
void | set_3d_mode (bool enable=true) |
void | set_vertical_scaling (double sc) |
Sets the scaling on the vertical axis programmatically. | |
void | set_min_max_range (double min, double max) |
Sets the limits on displayed values. More... | |
virtual void | reset_view (bool force_reset) |
Resets 2d and 3d view. More... | |
Linearizer * | get_linearizer () |
Returns the internal linearizer for the purpose of parameter settings. | |
void | set_linearizer_criterion (LinearizerCriterion criterion) |
Public Member Functions inherited from Hermes::Hermes2D::Views::View | |
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 () |
Protected Member Functions | |
void | free () |
void | update_solution () |
void | update_title () |
virtual void | on_special_key (int key, int x, int y) |
virtual const char * | get_help_text () const |
template<> | |
void | update_solution () |
template<> | |
void | update_solution () |
Protected Member Functions inherited from Hermes::Hermes2D::Views::ScalarView | |
void | init_element_info (MeshSharedPtr mesh) |
Creates element info from mesh. | |
void | create_element_info_widgets () |
Creates element ID widgets if not created already. | |
void | draw_element_infos_2d () |
Draws elements infos in 2D mode. | |
void | prepare_gl_geometry () |
prepares geometry in a form compatible with GL arrays; Data are updated if lin is updated. In a case of a failure (out of memory), gl_verts is nullptr and an old OpenGL rendering method has to be used. | |
void | draw_values_2d () |
draws values | |
void | draw_edges_2d () |
draws edges | |
void | calculate_mesh_aabb (double *x_min, double *x_max, double *y_min, double *y_max) |
Calculates AABB from edges. | |
void | draw_aabb () |
Draws the axes-aligned bounding box of the model. Assumes a model/view matrix to be the current matrix on the OpenGL stack. | |
double | calculate_ztrans_to_fit_view () |
virtual void | update_layout () |
Updates layout, i.e., centers 2d and 3d mesh. | |
void | draw_tri_contours (ScalarLinearizerDataDimensions< LINEARIZER_DATA_TYPE >::triangle_t &) |
void | init_lighting () |
void | update_mesh_info () |
Updates mesh info. Assumes that data lock is locked. | |
virtual void | on_display () |
void | on_display_2d () |
void | on_display_3d () |
virtual void | on_key_down (unsigned char key, int x, int y) |
virtual void | on_mouse_move (int x, int y) |
virtual void | on_right_mouse_down (int x, int y) |
Handles selecting/deselecting of nodes. | |
virtual void | on_middle_mouse_down (int x, int y) |
virtual void | on_middle_mouse_up (int x, int y) |
virtual void | on_close () |
Protected Member Functions inherited from Hermes::Hermes2D::Views::View | |
void | draw_fps () |
draws current FPS | |
virtual void | on_create (int output_id) |
virtual void | on_reshape (int width, int height) |
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_up (int x, int y) |
virtual void | on_right_mouse_double_click (int x, int y) |
virtual void | on_middle_mouse_double_click (int x, int y) |
virtual void | on_entry (int state) |
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 () |
Protected Attributes | |
SpaceSharedPtr< Scalar > | space |
MeshFunctionSharedPtr< Scalar > | sln |
MeshFunctionSharedPtr< double > | complex_filter |
double | eps |
int | ndof |
int | item |
int | base_index |
std::string | basic_title |
Protected Attributes inherited from Hermes::Hermes2D::Views::ScalarView | |
Linearizer * | lin |
LinearizerMultidimensional class responsible for obtaining linearized data. | |
std::vector< ElementInfo > | element_infos |
Element info. | |
unsigned int | element_id_widget |
A GL display-list denoting a element ID widget. The geometry assumes the size of a pixel is 1x1. | |
bool | show_element_info |
true, to draw element info (currently ID) in 2D mode | |
bool | lin_updated |
true, if lin now contains new_ values | |
int | max_gl_verts |
A maximum allocated number of vertices. | |
int | max_gl_tris |
A maximum allocated number of triangles. | |
int | gl_tri_cnt |
A number of OpenGL triangles. | |
bool | show_values |
true to show values | |
bool | show_edges |
true to show edges of mesh | |
bool | show_aabb |
true to show the bounding box | |
float | edges_color [3] |
color of edges | |
bool | contours |
true to enable drawing of contours | |
double | cont_orig |
contour settings. | |
double | cont_step |
float | cont_color [3] |
color of contours (RGB) | |
bool | do_zoom_to_fit |
true to automatically translate the view so that the whole model si displayed | |
bool | is_constant |
true if the function to be displayed is constant | |
bool | pmode |
bool | mode3d |
bool | panning |
double | xrot |
double | yrot |
double | xtrans |
double | ytrans |
double | ztrans |
double | xzscale |
double | yscale |
double | xctr |
double | yctr |
double | zctr |
Information about the range of vertex values. | |
double | value_irange |
double | value_range_avg |
Protected Attributes inherited from Hermes::Hermes2D::Views::View | |
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. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Hermes::Hermes2D::Views::View | |
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 Types inherited from Hermes::Hermes2D::Views::ScalarView | |
typedef void(* | DrawSingleEdgeCallback )(int inx_vert_a, int inx_vert_b, ScalarView *viewer, void *param) |
A callback function that draws edge using specified vertex indices. Param is user supplied parameter. | |
Static Protected Member Functions inherited from Hermes::Hermes2D::Views::View | |
static double | get_tick_count () |
returns a current time[in ms] | |
Static Protected Attributes inherited from Hermes::Hermes2D::Views::ScalarView | |
static const int | fovy = 50 |
Field of view in the vertical direction (in degrees). | |
static const double | znear = 0.05 |
Distance of the near clipping plane of the viewing frustum from the camera. | |
static const double | zfar = 10 |
Distance of the Far clipping plane of the viewing frustum from the camera. | |
Static Protected Attributes inherited from Hermes::Hermes2D::Views::View | |
static int | screenshot_no = 1 |
Visualizes the basis functions of a space.
BaseView is a debugging tool for the visualization of the basis functions
of a given space.