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

GFace.h

Blame
  • Forked from gmsh / gmsh
    Source project has a limited visibility.
    GFace.h 12.68 KiB
    // Gmsh - Copyright (C) 1997-2015 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@geuz.org>.
    
    #ifndef _GFACE_H_
    #define _GFACE_H_
    
    #include <list>
    #include <string>
    #include <vector>
    #include <map>
    #include "GEntity.h"
    #include "GPoint.h"
    #include "GEdgeLoop.h"
    #include "SPoint2.h"
    #include "SVector3.h"
    #include "Pair.h"
    #include "Numeric.h"
    #include "boundaryLayersData.h"
    
    class MElement;
    class MTriangle;
    class MQuadrangle;
    class MPolygon;
    class ExtrudeParams;
    class GFaceCompound;
    
    struct surface_params
    {
      double radius, radius2, height, cx, cy, cz;
    };
    
    class GRegion;
    
    // A model face.
    class GFace : public GEntity
    {
     protected:
      // edge loops might replace what follows (list of all the edges of
      // the face + directions)
      std::list<GEdge *> l_edges;
      std::list<int> l_dirs;
      GRegion *r1, *r2;
      mean_plane meanPlane;
      std::list<GEdge *> embedded_edges;
      std::list<GVertex *> embedded_vertices;
      GFaceCompound *compound; // this model edge belongs to a compound
    
      // replace edges (for gluing) for specific modelers, we have to
      // re-create internal data
      virtual void replaceEdgesInternal(std::list<GEdge*> &){}
      BoundaryLayerColumns _columns;
    
     public: // this will become protected or private
      std::list<GEdgeLoop> edgeLoops;
    
      // periodic counterparts of edges
      std::map<int,int> edgeCounterparts;
    
      // encoding of an explicit affine transformation for period meshing
      std::vector<double> affineTransform;
    
      // an array with additional vertices that are supposed to exist in
      // the final mesh of the model face. This can be used for boundary
      // layer meshes or when using Lloyd-like smoothing algorithms those
      // vertices are classifed on this GFace, their type is MFaceVertex.
      // After mesh generation, those are moved to the mesh_vertices array
      std::vector<MVertex*> additionalVertices;