Skip to content
Snippets Groups Projects
Select Git revision
  • 07fe1c9c3ec4bae605653baf3890d51c5b047115
  • 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

GModel.h

Blame
  • Forked from gmsh / gmsh
    Source project has a limited visibility.
    GModel.h 24.78 KiB
    // Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle
    //
    // See the LICENSE.txt file for license information. Please report all
    // bugs and problems to <gmsh@geuz.org>.
    
    #ifndef _GMODEL_H_
    #define _GMODEL_H_
    
    #include <algorithm>
    #include <vector>
    #include <set>
    #include <map>
    #include <string>
    #include "GVertex.h"
    #include "GEdge.h"
    #include "GFace.h"
    #include "GRegion.h"
    #include "SPoint3.h"
    #include "SBoundingBox3d.h"
    template <class scalar> class simpleFunction;
    
    class FM_Internals;
    class GEO_Internals;
    class OCC_Internals;
    class ACIS_Internals;
    class smooth_normals;
    class FieldManager;
    class CGNSOptions;
    class gLevelset;
    class discreteFace;
    class discreteRegion;
    class MElementOctree;
    class GModelFactory;
    
    // A geometric model. The model is a "not yet" non-manifold B-Rep.
    class GModel
    {
     private:
      friend class OCCFactory;
      std::multimap<std::pair<std::vector<int>, std::vector<int> >,
                    std::pair<std::string, std::vector<int> > > _homologyRequests;
      std::set<GRegion*, GEntityLessThan> _chainRegions;
      std::set<GFace*, GEntityLessThan> _chainFaces;
      std::set<GEdge*, GEntityLessThan> _chainEdges;
      std::set<GVertex*, GEntityLessThan> _chainVertices;
    
      int _readMSH2(const std::string &name);
      int _writeMSH2(const std::string &name, double version=2.2, bool binary=false,
                     bool saveAll=false, bool saveParametric=false,
                     double scalingFactor=1.0, int elementStartNum=0,
                     int saveSinglePartition=0,
                     bool multipleView=false);
    
     protected:
      // the name of the model
      std::string _name;
    
      // the name of the file the model was read from
      std::string _fileName;
    
      // the visibility flag
      char _visible;
    
      // vertex and element caches to speed-up direct access by tag (only
      // used for post-processing I/O)
      std::vector<MVertex*> _vertexVectorCache;
      std::map<int, MVertex*> _vertexMapCache;
      std::vector<MElement*> _elementVectorCache;
      std::map<int, MElement*> _elementMapCache;
      std::map<int, int> _elementIndexCache;