Пример #1
0
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();
}
Пример #2
0
      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();
      }
Пример #3
0
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();
}