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

BasisVector.h

Blame
  • Forked from gmsh / gmsh
    Source project has a limited visibility.
    BasisVector.h 1.96 KiB
    #ifndef _BASISVECTOR_H_
    #define _BASISVECTOR_H_
    
    #include <vector>
    #include "Basis.h"
    #include "Polynomial.h"
    
    /**
       @interface BasisVector
       @brief Common Interface for all 
       @em Vectorial Basis
    
       This class is the @em common @em interface for all 
       @em vectorial Basis.@n
    
       @note
       A BasisVector is an @em interface, 
       so it @em can't be instanciated
    */
    
    class BasisVector: public Basis{
     protected:
      std::vector<std::vector<const std::vector<Polynomial>*>*>* basis;
    
     public:
      //! Deletes this BasisVector
      //!
      virtual ~BasisVector(void);
    
      //! @param refSpace A natural number
      //! @param i A natural number
      //! @return Returns the @c i%th @em 
      //! Basis Function of the @c refSpace%th ReferenceSpace
      const std::vector<Polynomial>&
        getFunction(unsigned int refSpace, unsigned int i) const;
    
      //! @param refSpace A natural number
      //! @return Returns the @em all
      //! Basis Function of the @c refSpace%th ReferenceSpace
      const std::vector<const std::vector<Polynomial>*>&
        getFunction(unsigned int refSpace) const;
    
      //! @param element An Element
      //! @return Returns the @em all
      //! Basis Function in the @c given element
      //! @em ReferenceSpace
      const std::vector<const std::vector<Polynomial>*>&
        getFunction(const MElement& element) const;  
    
      virtual std::string toString(void) const;
    
     protected:
      //! @internal
      //! Instantiate a new BasisVector
      //!
      //! @endinternal
      BasisVector(void);
    };
    
    //////////////////////
    // Inline Functions //
    //////////////////////
    
    inline  
    const std::vector<Polynomial>& 
    BasisVector::getFunction(unsigned int refSpace, unsigned int i) const{
      return *(*(*basis)[refSpace])[i];
    }
    
    inline  
    const std::vector<const std::vector<Polynomial>*>&
    BasisVector::getFunction(unsigned int refSpace) const{
      return *(*basis)[refSpace];
    }
    
    inline  
    const std::vector<const std::vector<Polynomial>*>&
    BasisVector::getFunction(const MElement& element) const{
      return *(*basis)[refSpace->getPermutation(element)];
    }
    
    #endif