G+Smo
24.08.0
Geometry + Simulation Modules
|
Boehm's algorithm for knot insertion. More...
Go to the source code of this file.
Namespaces | |
gismo | |
The G+Smo namespace, containing all definitions for the library. | |
gismo::bspline | |
This namespace contains implementation of B-spline related algorithms. | |
Functions | |
template<short_t d> | |
void | buildCoeffsStrides (const gsVector< index_t, d > &size_of_coefs, gsVector< index_t, d > &strides) |
template<typename T , typename KnotVectorType > | |
void | computeAlpha (std::vector< std::vector< T > > &alpha, const KnotVectorType &knots, T value, int r, int k, int p, int s) |
template<typename T , typename KnotVectorType , typename ValIt , typename newKnotsType > | |
void | computeTensorAlpha (std::vector< std::vector< T > > &alpha, newKnotsType &nknots, const KnotVectorType &knots, ValIt valBegin, ValIt valEnd, bool sparse=false) |
void | correctNewStride (gsVector< unsigned > &new_str, const gsVector< unsigned > &str, const int direction, const int r) |
int | getIndex (const gsVector< unsigned > &stride, const gsVector< int > &position) |
void | getLastIndex (const gsVector< unsigned > &stride, const unsigned number_of_points, gsVector< int > &last_point) |
template<short_t d> | |
void | getLastIndexLocal (const gsVector< index_t, d > &size_of_coef, gsVector< index_t, d > &last_point) |
template<class T , class KnotVectorType , class Mat > | |
void | gsBoehm (KnotVectorType &knots, Mat &coefs, T val, int r=1, bool update_knots=true) |
Performs insertion of multiple knot on "knots" and coefficients "coefs". | |
template<class KnotVectorType , class Mat , class ValIt > | |
void | gsBoehmRefine (KnotVectorType &knots, Mat &coefs, int p, ValIt valBegin, ValIt valEnd, bool update_knots=true) |
template<class T , class KnotVectorType , class Mat > | |
void | gsBoehmSingle (KnotVectorType &knots, Mat &coefs, T val, bool update_knots=true) |
Performs knot insertion once on "knots" and coefficients "coefs". | |
template<class T , class iter , class Mat > | |
void | gsBoehmSingle (iter knot, Mat &coefs, int p, T val) |
template<typename T , typename KnotVectorType , typename Mat > | |
void | gsTensorBoehm (KnotVectorType &knots, Mat &coefs, T val, int direction, gsVector< unsigned > str, int r=1, bool update_knots=true) |
template<typename KnotVectorType , typename Mat , typename ValIt > | |
void | gsTensorBoehmRefine (KnotVectorType &knots, Mat &coefs, int direction, gsVector< unsigned > str, ValIt valBegin, ValIt valEnd, bool update_knots=true) |
template<short_t d, typename KnotVectorType , typename Mat , typename ValIt > | |
void | gsTensorBoehmRefineLocal (KnotVectorType &knots, const unsigned index, Mat &coefs, gsVector< index_t, d > &nmb_of_coefs, const gsVector< index_t, d > &act_size_of_coefs, const gsVector< index_t, d > &size_of_coefs, const unsigned direction, ValIt valBegin, ValIt valEnd, const bool update_knots) |
Local refinement algorithm. More... | |
template<short_t d, typename T , typename KnotVectorType , typename Mat > | |
void | gsTensorInsertKnotDegreeTimes (const KnotVectorType &knots, Mat &coefs, const gsVector< index_t, d > &size_of_coefs, T val, const unsigned direction, gsVector< index_t, d > &start, gsVector< index_t, d > &end) |
Inserts knot val such that multiplicity of a val in knot vector is equal degree. More... | |
unsigned | numberOfIterations (const gsVector< index_t > &nmb_of_coefs, const unsigned direction) |
Boehm's algorithm for knot insertion.
This file is part of the G+Smo library.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
Author(s): J. Speh