34template<
short_t d,
class T>
47 >::type BoundaryBasisType;
50 typedef memory::shared_ptr< gsHBSplineBasis >
Ptr;
53 typedef memory::unique_ptr< gsHBSplineBasis >
uPtr;
67 std::vector<index_t> & boxes)
73 gsHBSplineBasis( gsTensorBSplineBasis<d,T>
const& tbasis,
74 gsMatrix<T>
const & boxes)
86 return basisSlice(n1.direction(),n1.parameter());
110 std::ostream &
print(std::ostream &os)
const;
114 GISMO_MAKE_GEOMETRY_NEW
134#ifdef GISMO_WITH_PYBIND11
139 void pybind11_init_gsHBSplineBasis2(pybind11::module &m);
140 void pybind11_init_gsHBSplineBasis3(pybind11::module &m);
141 void pybind11_init_gsHBSplineBasis4(pybind11::module &m);
147#ifndef GISMO_BUILD_LIB
148#include GISMO_HPP_HEADER(gsHBSplineBasis.hpp)
Struct which represents a certain side of a box.
Definition gsBoundary.h:85
A basis represents a family of scalar basis functions defined over a common parameter domain.
Definition gsBasis.h:79
A hierarchical B-spline basis of parametric dimension d.
Definition gsHBSplineBasis.h:36
void deriv2_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluate the second derivatives of all active basis function at points u.
Definition gsHBSplineBasis.hpp:155
memory::shared_ptr< gsHBSplineBasis > Ptr
Shared pointer for gsHBSplineBasis.
Definition gsHBSplineBasis.h:50
void initialize()
Initialize the characteristic and coefficient matrices and the internal bspline representations.
Definition gsHBSplineBasis.hpp:70
gsHBSpline< d, T > GeometryType
Associated geometry type.
Definition gsHBSplineBasis.h:39
gsSparseMatrix< T > coarsening(const std::vector< gsSortedVector< index_t > > &old, const std::vector< gsSortedVector< index_t > > &n, const gsSparseMatrix< T, RowMajor > &transfer) const
returns a transfer matrix using the characteristic matrix of the old and new basis
Definition gsHBSplineBasis.hpp:228
void evalSingle_into(index_t i, const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluate the i-th basis function at points u into result.
Definition gsHBSplineBasis.hpp:77
memory::unique_ptr< gsHBSplineBasis > uPtr
Unique pointer for gsHBSplineBasis.
Definition gsHBSplineBasis.h:53
void eval_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluates nonzero basis functions at point u into result.
Definition gsHBSplineBasis.hpp:101
BoundaryBasisType::uPtr boundaryBasis(boxSide const &s)
Gives back the boundary basis at boxSide s.
void transferbyLvl(std::vector< gsSparseMatrix< T > > &result)
returns transfer matrices betweend the levels of the given hierarchical spline
Definition gsHBSplineBasis.hpp:188
short_t domainDim() const
Dimension of the (source) domain.
Definition gsHBSplineBasis.h:93
void deriv_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluates the first partial derivatives of the nonzero basis function.
Definition gsHBSplineBasis.hpp:128
gsHBSplineBasis(gsBasis< T > const &tbasis, bool manualLevels=false)
Constructor out of a tensor BSpline Basis.
Definition gsHBSplineBasis.h:60
BoundaryBasisType * basisSlice(index_t dir_fixed, T par) const
Gives back the basis at a slice in dir_fixed at par.
Definition gsHBSplineBasis.hpp:39
std::ostream & print(std::ostream &os) const
Prints the object as a string.
Definition gsHBSplineBasis.hpp:60
void deriv2Single_into(index_t i, const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluate the (partial) derivatives of the i-th basis function at points u into result.
Definition gsHBSplineBasis.hpp:93
void derivSingle_into(index_t i, const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluates the (partial) derivatives of the i-th basis function at points u into result.
Definition gsHBSplineBasis.hpp:85
A hierarchical B-Spline function, in d dimensions.
Definition gsHBSpline.h:38
Class representing a (scalar) hierarchical tensor basis of functions .
Definition gsHTensorBasis.h:75
std::vector< index_t > m_xmatrix_offset
Stores the offsets of active functions for all levels.
Definition gsHTensorBasis.h:411
void transfer(const std::vector< gsSortedVector< index_t > > &old, gsSparseMatrix< T > &result)
Returns transfer matrix between the hirarchical spline given by the characteristic matrix "old" and t...
Definition gsHTensorBasis.hpp:1736
std::vector< tensorBasis * > m_bases
The list of nested spaces.
Definition gsHTensorBasis.h:361
std::vector< CMatrix > m_xmatrix
The characteristic matrices for each level.
Definition gsHTensorBasis.h:377
gsHTensorBasis()
Default empty constructor.
Definition gsHTensorBasis.h:113
bool manualLevels() const
Returns true if levels are assigned manually.
Definition gsHTensorBasis.h:332
A matrix with arbitrary coefficient type and fixed or dynamic size.
Definition gsMatrix.h:41
This class is derived from std::vector, and adds sort tracking.
Definition gsSortedVector.h:110
Sparse matrix class, based on gsEigen::SparseMatrix.
Definition gsSparseMatrix.h:139
A tensor product B-spline basis.
Definition gsTensorBSplineBasis.h:37
#define short_t
Definition gsConfig.h:35
#define index_t
Definition gsConfig.h:32
Provides declaration of THBSplineBasis class.
Provides definition of HTensorBasis abstract interface.
The G+Smo namespace, containing all definitions for the library.