Description
Tools for evaluating basis functions for tensor-product surface NURBS, parametrized with parameter u,v (as lines) These bases are often called "R" in literature.
#include <ChBasisToolsNurbs.h>
Static Public Member Functions | |
static void | BasisEvaluate (const int p_u, const int p_v, const double u, const double v, const ChMatrixDynamic<> &Weights, const ChVectorDynamic<> &Knots_u, const ChVectorDynamic<> &Knots_v, ChMatrixDynamic<> &R) |
Compute vector of bases R. More... | |
static void | BasisEvaluateDeriv (const int p_u, const int p_v, const double u, const double v, const ChMatrixDynamic<> &Weights, const ChVectorDynamic<> &Knots_u, const ChVectorDynamic<> &Knots_v, ChMatrixDynamic<> &R, ChMatrixDynamic<> &dRdu, ChMatrixDynamic<> &dRdv) |
Compute vector of bases R and their first derivatives. More... | |
static void | BasisEvaluateDeriv (const int p_u, const int p_v, const double u, const double v, const ChMatrixDynamic<> &Weights, const ChVectorDynamic<> &Knots_u, const ChVectorDynamic<> &Knots_v, ChMatrixDynamic<> &R, ChMatrixDynamic<> &dRdu, ChMatrixDynamic<> &dRdv, ChMatrixDynamic<> &d2Rdudu, ChMatrixDynamic<> &d2Rdvdv, ChMatrixDynamic<> &d2Rdudv) |
Compute vector of bases R and their first and second derivatives. More... | |
Member Function Documentation
◆ BasisEvaluate()
|
inlinestatic |
Compute vector of bases R.
Evaluate ALL the (pu+1) * (pv+1) nonzero basis functions R of a 2D(surface) NURBS, at the needed u-v knot span, given the parameters u,v, the orders p_u p_v, the knot vector Knots_u, Knots_v, the weights Weights. Results go into the matrix R = { R11, R12, R13.... ; R21, R22, R23....; ... } where u increases along columns, v along rows.
- Parameters
-
p_u order u p_v order v u parameter u v parameter u Weights weights (u increases along columns, v along rows) Knots_u knots u Knots_v knots vu R here return bases (u increases along columns, v along rows)
◆ BasisEvaluateDeriv() [1/2]
|
inlinestatic |
Compute vector of bases R and their first derivatives.
Evaluate ALL the (pu+1) * (pv+1) nonzero basis functions R of a 2D(surface) NURBS, at the needed u-v knot span, given the parameters u,v, the orders p_u p_v, the knot vector Knots_u, Knots_v, the weights Weights. Results go into the matrix R = { R11, R12, R13.... ; R21, R22, R23....; ... } where u increases along columns, v along rows. Same for the derivatives in dRdu and dRdv.
- Parameters
-
p_u order u p_v order v u parameter u v parameter u Weights weights (u increases along columns, v along rows) Knots_u knots u Knots_v knots vu R here return bases (u increases along columns, v along rows) dRdu here return du-derivatives (u increases along columns, v along rows) dRdv here return dv-derivatives (u increases along columns, v along rows)
◆ BasisEvaluateDeriv() [2/2]
|
inlinestatic |
Compute vector of bases R and their first and second derivatives.
Evaluate ALL the (pu+1) * (pv+1) nonzero basis functions R of a 2D(surface) NURBS, at the needed u-v knot span, given the parameters u,v, the orders p_u p_v, the knot vector Knots_u, Knots_v, the weights Weights. Results go into the matrix R = { R11, R12, R13.... ; R21, R22, R23....; ... } where u increases along columns, v along rows. Same for the derivatives.
- Parameters
-
p_u order u p_v order v u parameter u v parameter u Weights weights (u increases along columns, v along rows) Knots_u knots u Knots_v knots vu R here return bases (u increases along columns, v along rows) dRdu here return du-derivatives (u increases along columns, v along rows) dRdv here return dv-derivatives (u increases along columns, v along rows) d2Rdudu here return dudu-second derivatives (u increases along columns, v along rows) d2Rdvdv here return dvdv-second derivatives (u increases along columns, v along rows) d2Rdudv here return dudv-second derivatives (u increases along columns, v along rows)
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/geometry/ChBasisToolsNurbs.h