G+Smo
24.08.0
Geometry + Simulation Modules
|
This group collects basis types deriving from gsBasis.
Among the most important classes in G+Smo are those representing bases, for instance, a B-spline basis, a tensor product NURBS basis, and so on.
A basis can be viewed as a collection of scalar basis functions
\[ B :\ \mathbb R^d \to \mathbb R \]
defined over a common parameter domain of dimension d. For the bases that G+Smo deals with, parameter domains are usually of tensor product type and therefore just d-dimensional boxes.
Ths gsBasis inteface provides many member functions to evaluate their basis functions as well as their derivatives at sets of points in the parameter domain.
The parameter domain has dimension d, which can be queried at runtime using gsBasis::dim(). Implementations of gsBasis typically have a dimension which is statically known at compile time, but we do not expose the dimension as a template parameter of gsBasis in order to make dimension-independent code possible to write without excessive templating.
The main job of a gsBasis is to allow evaluation of its basis functions and their derivatives at arbitrary points of the parameter domain. All evaluation functions in gsBasis take a matrix u as an argument which specifies where the basis functions should be evaluated. This matrix should have d rows, and every column specifies one point of the parameter domain at which the basis should be evaluated.
The number of basis functions in a basis is called its size and can be queried using gsBasis::size().
Most bases have basis functions with local support, i.e., they are nonzero only in a small region of the parameter domain. A basis function is called active at a point u if u is contained in its support. The indices of the active basis functions at one or more points can be found by calling gsBasis::active().
T | coefficient type |
Classes | |
class | gsBasis< T > |
A basis represents a family of scalar basis functions defined over a common parameter domain. More... | |
class | gsBSplineBasis< T > |
A univariate B-spline basis. More... | |
class | gsConstantBasis< T > |
Class defining a dummy basis of constant functions. This is used for compatibility reasons. More... | |
class | gsHBSplineBasis< d, T > |
A hierarchical B-spline basis of parametric dimension d. More... | |
class | gsHTensorBasis< d, T > |
Class representing a (scalar) hierarchical tensor basis of functions \( \mathbb R^d \to \mathbb R \). More... | |
class | gsLagrangeBasis< T > |
A univariate Lagrange basis. More... | |
class | gsLegendreBasis< T > |
A univariate Legendre basis. More... | |
class | gsMonomialBasis< T > |
An univariate monomial polynomial basis. If the degree is p the basis is given by: [ 1, x, x^2, ..., x^p ] The basis functions are numbered, starting from zero, as stated above. More... | |
class | gsMPBESBasis< d, T > |
Purely abstract class gsMappedBasis, which gives means of combining basis functions to new, global ones. More... | |
class | gsMPBESBSplineBasis< d, T > |
A univariate Lagrange basis. More... | |
class | gsMPBESHSplineBasis< d, T > |
A univariate Lagrange basis. More... | |
class | gsMPBESMapB2D< d, T > |
A univariate Lagrange basis. More... | |
class | gsMPBESMapHB2D< d, T > |
A univariate Lagrange basis. More... | |
class | gsMPBESMapTensor< d, T > |
A univariate Lagrange basis. More... | |
class | gsMvLegendreBasis< T > |
A multivariate Legendre basis. More... | |
class | gsNurbsBasis< T > |
A univariate NURBS basis. More... | |
class | gsRationalBasis< SrcT > |
Class that creates a rational counterpart for a given basis. More... | |
class | gsTensorBasis< d, T > |
Abstract base class for tensor product bases. More... | |
class | gsTensorBSplineBasis< d, T > |
A tensor product B-spline basis. More... | |
class | gsTensorBSplineBasis< 1, T > |
A univariate B-spline basis. More... | |
class | gsTensorNurbsBasis< d, T > |
A tensor product Non-Uniform Rational B-spline (NURBS) basis. More... | |
class | gsTHBSplineBasis< d, T > |
Truncated hierarchical B-spline basis. More... | |