File GeneratorUtils.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils
namespace BSplines
namespace GeneratorUtils

Utility functions for BSpline generation. Includes methods and attributes that can be used by all BSplineGenerators Methods for creating parameters and knotVectors from the NURBS book by Piegl 1997: generateParametersByEquallySpacedMethod() uses eq. (9.3) generateParametersByChordLengthMethod() uses eqs. (9.4)-(9.5) generateKnotVectorByDeBoorMethod() uses the eqs. (9.68-9.69) generateKnotVectorByEquallySpacedMethod() uses eq. (9.7) generateKnotVectorByKnotAveraging() uses eq. (9.8)

See

Generator

Functions

Eigen::VectorXd generateParametersByEquallySpacedMethod(const Eigen::MatrixXd &dataPoints)
Eigen::VectorXd generateParametersByCentripetalMethod(const Eigen::MatrixXd &dataPoints)
Eigen::VectorXd generateParametersByChordLengthMethod(const Eigen::MatrixXd &dataPoints)
Eigen::VectorXd generateKnotVectorByDeBoorsMethod(int splineDegree, int numberPolynomialSegments, const Eigen::VectorXd &uBar)
Eigen::VectorXd generateKnotVectorByUniformMethod(int splineDegree, int numberPolynomialSegments)
Eigen::VectorXd generateKnotVectorByKnotAveraging(int splineDegree, int numberPolynomialSegments, const Eigen::VectorXd &uBar)