Skip to content
Snippets Groups Projects
Select Git revision
  • be1117bc68966c7df6014f0fc4bc138fcb51bfca
  • master default protected
  • alphashapes
  • quadMeshingTools
  • cygwin_conv_path
  • macos_arm64
  • add-transfiniteautomatic-to-geo
  • patch_releases_4_10
  • HierarchicalHDiv
  • isuruf-master-patch-63355
  • hyperbolic
  • hexdom
  • hxt_update
  • jf
  • 1618-pythonocc-and-gmsh-api-integration
  • octreeSizeField
  • hexbl
  • alignIrregularVertices
  • getEdges
  • patch_releases_4_8
  • isuruf-master-patch-51992
  • 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
  • gmsh_4_8_4
  • gmsh_4_8_3
  • gmsh_4_8_2
  • gmsh_4_8_1
  • gmsh_4_8_0
  • gmsh_4_7_1
  • gmsh_4_7_0
41 results

GeoStringInterface.h

Blame
  • Forked from gmsh / gmsh
    Source project has a limited visibility.
    BasisFactory.h 1.36 KiB
    // Gmsh - Copyright (C) 1997-2014 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 BASISFACTORY_H
    #define BASISFACTORY_H
    
    #include "MElement.h"
    #include "MPyramid.h"
    #include "nodalBasis.h"
    #include "bezierBasis.h"
    #include "JacobianBasis.h"
    #include "MetricBasis.h"
    
    class BasisFactory
    {
      typedef std::map<std::pair<int, int>, bezierBasis*> Cont_bezierBasis;
      typedef std::map<std::pair<int, int>, GradientBasis*> Cont_gradBasis;
    
     private:
      static std::map<int, nodalBasis*> fs;
      static std::map<int, JacobianBasis*> js;
      static std::map<int, MetricBasis*> ms;
      static Cont_gradBasis gs;
      static Cont_bezierBasis bs;
      // store bezier bases by parentType and order (no serendipity..)
    
     public:
      // Caution: the returned pointer can be NULL
      static const nodalBasis* getNodalBasis(int tag);
      static const JacobianBasis* getJacobianBasis(int tag);
      static const MetricBasis* getMetricBasis(int tag);
    
      static const GradientBasis* getGradientBasis(int tag, int order);
      static const bezierBasis* getBezierBasis(int parentTag, int order);
      static const bezierBasis* getBezierBasis(int tag) {
        return getBezierBasis(ElementType::ParentTypeFromTag(tag),
                              ElementType::OrderFromTag(tag) );
      }
    
      static void clearAll();
    };
    
    #endif