chrono::geometry::ChBasisToolsNurbs Class Reference

## Description

Tools for evaluating basis functions for NURBS, parametrized with parameter u (as lines) These bases are often called "R" in literature.

#include <ChBasisToolsNurbs.h>

## Static Public Member Functions

static void BasisEvaluate (const int p, const double u, const ChVectorDynamic<> &Weights, const ChVectorDynamic<> &Knots, ChVectorDynamic<> &R)
Compute vector of bases R. More...

static void BasisEvaluateDeriv (const int p, const double u, const ChVectorDynamic<> &Weights, const ChVectorDynamic<> &Knots, ChVectorDynamic<> &R, ChVectorDynamic<> &dRdu)
Compute vector of bases R and their first derivatives. More...

static void BasisEvaluateDeriv (const int p, const double u, const ChVectorDynamic<> &Weights, const ChVectorDynamic<> &Knots, ChVectorDynamic<> &R, ChVectorDynamic<> &dRdu, ChVectorDynamic<> &ddRddu)
Compute vector of bases R and their first and second derivatives. More...

## ◆ BasisEvaluate()

 static void chrono::geometry::ChBasisToolsNurbs::BasisEvaluate ( const int p, const double u, const ChVectorDynamic<> & Weights, const ChVectorDynamic<> & Knots, ChVectorDynamic<> & R )
inlinestatic

Compute vector of bases R.

Evaluate ALL the p+1 nonzero basis functions R of a 1D(line) NURBS, at the i-th knot span, given the parameter u, the order p, the knot vector Knots, the weights Weights. Results go into the row vector R = { R1, R2, R3.... R_(p+1) }

Parameters
 p order u parameter Weights weights Knots knots R here return basis functions R evaluated at u, that is: R(u)

## ◆ BasisEvaluateDeriv() [1/2]

 static void chrono::geometry::ChBasisToolsNurbs::BasisEvaluateDeriv ( const int p, const double u, const ChVectorDynamic<> & Weights, const ChVectorDynamic<> & Knots, ChVectorDynamic<> & R, ChVectorDynamic<> & dRdu )
inlinestatic

Compute vector of bases R and their first derivatives.

Evaluate ALL the p+1 nonzero basis functions R of a 1D(line) NURBS, at the i-th knot span, given the parameter u, the order p, the knot vector Knots, the weights Weights Results go into the row vector R = { R1, R2, R3, , .... R_(p+1) } and into the row vector dR/du = { dR1/du, dR2/du, dR3/du, .... dR_(p+1)/du }

Parameters
 p order u parameter Weights weights Knots knots R here return basis functions R evaluated at u, that is: R(u) dRdu here return basis functions derivatives dR/du evaluated at u

## ◆ BasisEvaluateDeriv() [2/2]

 static void chrono::geometry::ChBasisToolsNurbs::BasisEvaluateDeriv ( const int p, const double u, const ChVectorDynamic<> & Weights, const ChVectorDynamic<> & Knots, ChVectorDynamic<> & R, ChVectorDynamic<> & dRdu, ChVectorDynamic<> & ddRddu )
inlinestatic

Compute vector of bases R and their first and second derivatives.

Evaluate ALL the p+1 nonzero basis functions R of a 1D(line) NURBS, at the i-th knot span, given the parameter u, the order p, the knot vector Knots, the weights Weights Results go into the row vector R = { R1, R2, R3, , .... R_(p+1) } and into the row vector dR/du = { dR1/du, dR2/du, dR3/du, .... dR_(p+1)/du } and into the row vector ddR/ddu={ ddR1/ddu, ddR2/ddu, ddR3/ddu, .... ddR_(p+1)/ddu }

Parameters
 p order u parameter Weights weights Knots knots R here return basis functions R evaluated at u, that is: R(u) dRdu here return basis functions derivatives dR/du evaluated at u ddRddu here return basis functions derivatives ddR/ddu evaluated at u

The documentation for this class was generated from the following file:
• /builds/uwsbel/chrono/src/chrono/geometry/ChBasisToolsNurbs.h