Skip to content
Snippets Groups Projects
Select Git revision
  • 174c229622043cba587b7bc70a52fabcef12f586
  • master default
  • cgnsUnstructured
  • partitioning
  • poppler
  • HighOrderBLCurving
  • gmsh_3_0_4
  • gmsh_3_0_3
  • gmsh_3_0_2
  • gmsh_3_0_1
  • gmsh_3_0_0
  • gmsh_2_16_0
  • gmsh_2_15_0
  • gmsh_2_14_1
  • gmsh_2_14_0
  • gmsh_2_13_2
  • gmsh_2_13_1
  • gmsh_2_12_0
  • gmsh_2_11_0
  • gmsh_2_10_1
  • gmsh_2_10_0
  • gmsh_2_9_3
  • gmsh_2_9_2
  • gmsh_2_9_1
  • gmsh_2_9_0
  • gmsh_2_8_6
26 results

GModelIO_Mesh.cpp

Blame
  • Forked from gmsh / gmsh
    Source project has a limited visibility.
    • Christophe Geuzaine's avatar
      174c2296
      ghost cells, take three -- ghost cells are now fully functional (for · 174c2296
      Christophe Geuzaine authored
      single file IO)
      
      TWO BIG WARNINGS:
      
      1) The MSH file version has been bumped from 2.1 to 2.2 because if a
      mesh has partitions, the meaning of the tags has changed. Tag 3 used
      to be the partition id; now tag 3 contains the number of partitions
      (self+ghosts, if necessary), and the next tag(s) contain(s) the
      partition(s) id(s). Ghost partitions have < 0 ids. The (new) default
      behaviour is to not save partition numbers by default if there are
      none.
      
      2) There is an issue for split-file IO (one file per partition), due
      to our on-the-fly renumbering of the elements (we would need a global
      pass+store an inverse multimap to have the correct ghost element
      numbers in a split-file scheme). The problem comes from the multiple
      physicals -> multiple copies of the same MElement* in the MSH file +
      our refusal to store an index in MElement. We need to discuss this
      before we implement split-file IO in parallel...
      
      
      
      PS -- I also changed the way we write binary files. We now save blobs
      of single elements. This is fully compatible with old versions, but
      might slow down reading large files. I did not see any performance hit
      on my machine, but this should be tested more thoroughly. Third party
      codes can still write larger binary blobs if they want to, but Gmsh
      itself now writes small blobs, which makes the writeMSH routine much
      simpler.
      
      
      174c2296
      History
      ghost cells, take three -- ghost cells are now fully functional (for
      Christophe Geuzaine authored
      single file IO)
      
      TWO BIG WARNINGS:
      
      1) The MSH file version has been bumped from 2.1 to 2.2 because if a
      mesh has partitions, the meaning of the tags has changed. Tag 3 used
      to be the partition id; now tag 3 contains the number of partitions
      (self+ghosts, if necessary), and the next tag(s) contain(s) the
      partition(s) id(s). Ghost partitions have < 0 ids. The (new) default
      behaviour is to not save partition numbers by default if there are
      none.
      
      2) There is an issue for split-file IO (one file per partition), due
      to our on-the-fly renumbering of the elements (we would need a global
      pass+store an inverse multimap to have the correct ghost element
      numbers in a split-file scheme). The problem comes from the multiple
      physicals -> multiple copies of the same MElement* in the MSH file +
      our refusal to store an index in MElement. We need to discuss this
      before we implement split-file IO in parallel...
      
      
      
      PS -- I also changed the way we write binary files. We now save blobs
      of single elements. This is fully compatible with old versions, but
      might slow down reading large files. I did not see any performance hit
      on my machine, but this should be tested more thoroughly. Third party
      codes can still write larger binary blobs if they want to, but Gmsh
      itself now writes small blobs, which makes the writeMSH routine much
      simpler.
      
      
    Callbacks.cpp 133.83 KiB
    // $Id: Callbacks.cpp,v 1.515 2007-02-26 08:25:37 geuzaine Exp $
    //
    // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
    //
    // This program is free software; you can redistribute it and/or modify
    // it under the terms of the GNU General Public License as published by
    // the Free Software Foundation; either version 2 of the License, or
    // (at your option) any later version.
    //
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.
    //
    // You should have received a copy of the GNU General Public License
    // along with this program; if not, write to the Free Software
    // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
    // USA.
    // 
    // Please report all bugs and problems to <gmsh@geuz.org>.
    
    #include <signal.h>
    #include <time.h>
    #include <map>
    
    #include "Gmsh.h"
    #include "GmshUI.h"
    #include "Geo.h"
    #include "GeoStringInterface.h"
    #include "findLinks.h"
    #include "Generator.h"
    #include "SecondOrder.h"
    #include "Draw.h"
    #include "SelectBuffer.h"
    #include "Views.h"
    #include "CreateFile.h"
    #include "OpenFile.h"
    #include "CommandLine.h"
    #include "Context.h"
    #include "Options.h"
    #include "GUI.h"
    #include "GUI_Extras.h"
    #include "Callbacks.h"
    #include "Plugin.h"
    #include "PluginManager.h"
    #include "Visibility.h"
    #include "Numeric.h"
    #include "Solvers.h"
    #include "OS.h"
    #include "GModel.h"
    
    extern Context_T CTX;
    extern GUI *WID;
    extern GModel *GMODEL;
    
    // Helper routines
    
    void UpdateViewsInGUI()
    {
      if(WID) {
        WID->check_anim_buttons();
        if(WID->get_context() == 3)
          WID->set_context(menu_post, 0);
        WID->reset_option_browser();
        WID->reset_clip_browser();
        WID->reset_external_view_list();
      }
    }
    
    int SetGlobalShortcut(int event)