Skip to content
Snippets Groups Projects
Select Git revision
  • 3f147e49852e19b79b873f3f88edaff2314ae196
  • master default protected
  • hierarchical-basis
  • alphashapes
  • bl
  • relaying
  • new_export_boris
  • oras_vs_osm
  • reassign_partitions
  • distributed_fwi
  • rename-classes
  • fix/fortran-api-example-t4
  • robust_partitions
  • reducing_files
  • fix_overlaps
  • 3115-issue-fix
  • 3023-Fillet2D-Update
  • convert_fdivs
  • tmp_jcjc24
  • fixedMeshIF
  • save_edges
  • gmsh_4_14_0
  • gmsh_4_13_1
  • gmsh_4_13_0
  • gmsh_4_12_2
  • gmsh_4_12_1
  • gmsh_4_12_0
  • gmsh_4_11_1
  • gmsh_4_11_0
  • gmsh_4_10_5
  • gmsh_4_10_4
  • gmsh_4_10_3
  • gmsh_4_10_2
  • gmsh_4_10_1
  • gmsh_4_10_0
  • gmsh_4_9_5
  • gmsh_4_9_4
  • gmsh_4_9_3
  • gmsh_4_9_2
  • gmsh_4_9_1
  • gmsh_4_9_0
41 results

boundaryLayersData.cpp

Blame
  • gmshFace.cpp 7.32 KiB
    // $Id: gmshFace.cpp,v 1.24 2006-11-26 04:36:46 geuzaine Exp $
    //
    // Copyright (C) 1997-2006 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 "GModel.h"
    #include "gmshVertex.h"
    #include "gmshEdge.h"
    #include "gmshFace.h"
    #include "Geo.h"
    #include "GeoInterpolation.h"
    #include "Numeric.h"
    #include "Message.h"
    
    extern Mesh *THEM;
    
    gmshFace::gmshFace(GModel *m, Surface *face)
      : GFace(m, face->Num), s(face)
    {
      for(int i = 0 ; i < List_Nbr(s->Generatrices); i++){
        Curve *c;
        List_Read(s->Generatrices, i, &c);
        GEdge *e = m->edgeByTag(abs(c->Num));
        if(!e) throw;
        l_edges.push_back(e);
        e->addFace(this);
        if(c->Num > 0) l_dirs.push_back(1);
        else l_dirs.push_back(-1);
      }
      // always compute and store the mean plane for plane surfaces
      // (simply using the bounding vertices)
      if(s->Typ == MSH_SURF_PLAN) computeMeanPlane();
    
      if(s->EmbeddedCurves){
        for(int i = 0 ; i < List_Nbr(s->EmbeddedCurves); i++){
          Curve *c;
          List_Read(s->EmbeddedCurves, i, &c);
          GEdge *e = m->edgeByTag(abs(c->Num));
          if(!e) throw;
          embedded_edges.push_back(e);
        }
      }
      if(s->EmbeddedPoints){
        for(int i = 0 ; i < List_Nbr(s->EmbeddedPoints); i++){
          Vertex *v;
          List_Read(s->EmbeddedPoints, i, &v);
          GVertex *gv = m->vertexByTag(v->Num);
          if(!gv) throw;
          embedded_vertices.push_back(gv);
        }
      }
    
      meshAttributes.recombine = s->Recombine;
      meshAttributes.recombineAngle = s->RecombineAngle;