/usr/include/gmsh/bezierBasis.h is in libgmsh-dev 2.8.5+dfsg-1.1+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | // 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 _BEZIER_BASIS_H_
#define _BEZIER_BASIS_H_
#include <map>
#include <vector>
#include "fullMatrix.h"
#include "ElementType.h"
class MElement;
class bezierBasis {
private :
// the 'numLagCoeff' first exponents are related to 'Lagrangian' values
int numLagCoeff;
int dim, type, order;
int numDivisions;
public:
int _dimSimplex;
fullMatrix<double> _exponents;
public :
fullMatrix<double> matrixLag2Bez;
fullMatrix<double> matrixBez2Lag;
fullMatrix<double> subDivisor;
// Constructors
inline bezierBasis(int tag) {
_construct(ElementType::ParentTypeFromTag(tag), ElementType::OrderFromTag(tag));
}
inline bezierBasis(int parendtType, int order) {
_construct(parendtType, order);
}
// get methods
inline int getDim() const {return dim;}
inline int getOrder() const {return order;}
inline int getNumLagCoeff() const {return numLagCoeff;}
inline int getNumDivision() const {return numDivisions;}
// Interpolation of n functions on N points :
// coeffs(numCoeff, n) and uvw(N, dim)
// => result(N, n)
void interpolate(const fullMatrix<double> &coeffs,
const fullMatrix<double> &uvw,
fullMatrix<double> &result,
bool bezCoord = false) const;
private :
void _construct(int parendtType, int order);
};
#endif
|