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

fourierEdge.cpp

Blame
  • Forked from gmsh / gmsh
    Source project has a limited visibility.
    GRegion.cpp 13.91 KiB
    // Gmsh - Copyright (C) 1997-2016 C. Geuzaine, J.-F. Remacle
    //
    // See the LICENSE.txt file for license information. Please report all
    // bugs and problems to the public mailing list <gmsh@onelab.info>.
    
    #include <sstream>
    #include "GModel.h"
    #include "GRegion.h"
    #include "GFace.h"
    #include "MTetrahedron.h"
    #include "MHexahedron.h"
    #include "MPrism.h"
    #include "MPyramid.h"
    #include "MTrihedron.h"
    #include "MElementCut.h"
    #include "GmshMessage.h"
    #include "VertexArray.h"
    #include "boundaryLayersData.h"
    #include "GmshDefines.h"
    
    GRegion::GRegion(GModel *model, int tag)
      : GEntity (model, tag), compound(0)
    {
      resetMeshAttributes();
    }
    
    GRegion::~GRegion()
    {
      std::list<GFace*>::iterator it = l_faces.begin();
      while(it != l_faces.end()){
        (*it)->delRegion(this);
        ++it;
      }
      deleteMesh();
    }
    
    void GRegion::deleteMesh()
    {
      for(unsigned int i = 0; i < mesh_vertices.size(); i++) delete mesh_vertices[i];
      mesh_vertices.clear();
      transfinite_vertices.clear();
      for(unsigned int i = 0; i < tetrahedra.size(); i++) delete tetrahedra[i];
      tetrahedra.clear();
      for(unsigned int i = 0; i < hexahedra.size(); i++) delete hexahedra[i];
      hexahedra.clear();
      for(unsigned int i = 0; i < prisms.size(); i++) delete prisms[i];
      prisms.clear();
      for(unsigned int i = 0; i < pyramids.size(); i++) delete pyramids[i];
      pyramids.clear();
      for(unsigned int i = 0; i < trihedra.size(); i++) delete trihedra[i];
      trihedra.clear();
      for(unsigned int i = 0; i < polyhedra.size(); i++) delete polyhedra[i];
      polyhedra.clear();
    
      deleteVertexArrays();
      model()->destroyMeshCaches();
    }
    
    unsigned int GRegion::getNumMeshElements()
    {
      return tetrahedra.size() + hexahedra.size() + prisms.size() + pyramids.size() +
        trihedra.size() + polyhedra.size();
    }
    
    unsigned int GRegion::getNumMeshParentElements()
    {
      unsigned int n = 0;
      for(unsigned int i = 0; i < polyhedra.size(); i++)
        if(polyhedra[i]->ownsParent())
          n++;