void VectorView::show(MeshFunction* xsln, MeshFunction* ysln, double eps, int xitem, int yitem) { vec.lock_data(); vec.process_solution(xsln, xitem, ysln, yitem, eps); if (range_auto) { range_min = vec.get_min_value(); range_max = vec.get_max_value(); } vec.calc_vertices_aabb(&vertices_min_x, &vertices_max_x, &vertices_min_y, &vertices_max_y); vec.unlock_data(); create(); update_layout(); reset_view(false); refresh(); wait_for_draw(); }
void OrderView::show(SpaceSharedPtr<Scalar> space, bool show_edge_orders) { if (!space->is_up_to_date()) throw Hermes::Exceptions::Exception("The space is not up to date."); ord.lock_data(); ord.process_space(space, show_edge_orders); ord.calc_vertices_aabb(&vertices_min_x, &vertices_max_x, &vertices_min_y, &vertices_max_y); init_order_palette(ord.get_vertices()); ord.unlock_data(); create(); update_layout(); reset_view(false); refresh(); wait_for_draw(); }
void VectorView::load_data(const char* filename) { //get data vec.load_data(filename); vec.lock_data(); vec.calc_vertices_aabb(&vertices_min_x, &vertices_max_x, &vertices_min_y, &vertices_max_y); vec.unlock_data(); if (range_auto) { range_min = vec.get_min_value(); range_max = vec.get_max_value(); } create(); update_layout(); reset_view(false); refresh(); wait_for_draw(); }