NURBSbasis function. Used to construct NURBS curves, surfaces and volumes. More...
Public Member Functions | |
TypeName ("NURBbasis") | |
Runtime type information. More... | |
NURBSbasis (const label nCPs, const label degree, const scalarField &knots) | |
Construct from number of control points, knot vector and basis order. More... | |
NURBSbasis (const label nCPs, const label degree) | |
Construct from number of control points and basis order. More... | |
NURBSbasis (const dictionary &dict) | |
Construct from dictionary. More... | |
NURBSbasis (const NURBSbasis &) | |
Construct as copy. More... | |
virtual | ~NURBSbasis ()=default |
Destructor. More... | |
scalar | basisValue (const label iCP, const label degree, const scalar u) const |
Basis value. More... | |
scalar | basisDerivativeU (const label iCP, const label degree, const scalar u) const |
Basis derivative w.r.t u. More... | |
scalar | basisDerivativeUU (const label iCP, const label degree, const scalar u) const |
Basis second derivative w.r.t u. More... | |
bool | checkRange (const scalar u, const label CPI, const label degree) const |
Checks to see if given u is affected by given CP. More... | |
label | insertKnot (const scalar uBar) |
Adds the new knot's u value, increments the nCPs and returns 'k', the index of the newly inserted uValue. More... | |
const scalarField & | knots () const |
const label & | degree () const |
const label & | nCPs () const |
NURBSbasis function. Used to construct NURBS curves, surfaces and volumes.
Definition at line 51 of file NURBSbasis.H.
NURBSbasis | ( | const label | nCPs, |
const label | degree, | ||
const scalarField & | knots | ||
) |
Construct from number of control points, knot vector and basis order.
Definition at line 77 of file NURBSbasis.C.
NURBSbasis | ( | const label | nCPs, |
const label | degree | ||
) |
Construct from number of control points and basis order.
Assumes uniform knot vector
Definition at line 90 of file NURBSbasis.C.
NURBSbasis | ( | const dictionary & | dict | ) |
NURBSbasis | ( | const NURBSbasis & | basis | ) |
Construct as copy.
Definition at line 117 of file NURBSbasis.C.
References DebugInfo, and Foam::endl().
|
virtualdefault |
Destructor.
TypeName | ( | "NURBbasis" | ) |
Runtime type information.
scalar basisValue | ( | const label | iCP, |
const label | degree, | ||
const scalar | u | ||
) | const |
Basis value.
Definition at line 133 of file NURBSbasis.C.
Referenced by NURBS3DCurve::buildCurve(), NURBS3DSurface::buildSurface(), NURBS3DCurve::curveDerivativeU(), NURBS3DCurve::curveDerivativeUU(), and NURBS3DCurve::curvePoint().
scalar basisDerivativeU | ( | const label | iCP, |
const label | degree, | ||
const scalar | u | ||
) | const |
Basis derivative w.r.t u.
Definition at line 183 of file NURBSbasis.C.
Referenced by NURBS3DCurve::curveDerivativeU(), and NURBS3DCurve::curveDerivativeUU().
scalar basisDerivativeUU | ( | const label | iCP, |
const label | degree, | ||
const scalar | u | ||
) | const |
Basis second derivative w.r.t u.
Definition at line 224 of file NURBSbasis.C.
Referenced by NURBS3DCurve::curveDerivativeUU().
bool checkRange | ( | const scalar | u, |
const label | CPI, | ||
const label | degree | ||
) | const |
Checks to see if given u is affected by given CP.
Definition at line 266 of file NURBSbasis.C.
Referenced by NURBS3DCurve::checkRange().
label insertKnot | ( | const scalar | uBar | ) |
Adds the new knot's u value, increments the nCPs and returns 'k', the index of the newly inserted uValue.
uBar should be pre-bounded between 0,1.
Definition at line 291 of file NURBSbasis.C.
References UList< T >::size(), and Foam::Zero.
|
inline |
Definition at line 27 of file NURBSbasisI.H.
|
inline |
Definition at line 33 of file NURBSbasisI.H.
Referenced by NURBS3DCurve::buildCurve(), NURBS3DSurface::buildSurface(), NURBS3DCurve::checkRange(), NURBS3DCurve::curveDerivativeU(), NURBS3DCurve::curveDerivativeUU(), and NURBS3DCurve::curvePoint().
|
inline |
Definition at line 39 of file NURBSbasisI.H.
Referenced by NURBS3DSurface::buildSurface(), axisAligned::computeControlPoints(), fromFile::computeControlPoints(), transformBox::computeControlPoints(), NURBS3DSurface::getBoundaryCPIDs(), NURBS3DSurface::invertU(), NURBS3DSurface::invertUV(), and NURBS3DSurface::invertV().