Loading...
Searching...
No Matches
NURBSbasis Class Reference

NURBSbasis function. Used to construct NURBS curves, surfaces and volumes. More...

#include <NURBSbasis.H>

Public Member Functions

 TypeName ("NURBbasis")
 Runtime type information.
 NURBSbasis (const label nCPs, const label degree, const scalarField &knots)
 Construct from number of control points, knot vector and basis order.
 NURBSbasis (const label nCPs, const label degree)
 Construct from number of control points and basis order.
 NURBSbasis (const dictionary &dict)
 Construct from dictionary.
 NURBSbasis (const NURBSbasis &)
 Construct as copy.
virtual ~NURBSbasis ()=default
 Destructor.
scalar basisValue (const label iCP, const label degree, const scalar u) const
 Basis value.
scalar basisDerivativeU (const label iCP, const label degree, const scalar u) const
 Basis derivative w.r.t u.
scalar basisDerivativeUU (const label iCP, const label degree, const scalar u) const
 Basis second derivative w.r.t u.
bool checkRange (const scalar u, const label CPI, const label degree) const
 Checks to see if given u is affected by given CP.
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.
const scalarFieldknots () const
const label & degree () const
const label & nCPs () const

Detailed Description

NURBSbasis function. Used to construct NURBS curves, surfaces and volumes.

Source files

Definition at line 51 of file NURBSbasis.H.

Constructor & Destructor Documentation

◆ NURBSbasis() [1/4]

NURBSbasis ( const label nCPs,
const label degree,
const scalarField & knots )

Construct from number of control points, knot vector and basis order.

Definition at line 76 of file NURBSbasis.C.

References degree(), knots(), and nCPs().

Referenced by NURBSbasis(), and TypeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NURBSbasis() [2/4]

NURBSbasis ( const label nCPs,
const label degree )

Construct from number of control points and basis order.

Assumes uniform knot vector

Definition at line 89 of file NURBSbasis.C.

References degree(), nCPs(), and Foam::Zero.

Here is the call graph for this function:

◆ NURBSbasis() [3/4]

NURBSbasis ( const dictionary & dict)

Construct from dictionary.

Assumes uniform knot vector

Definition at line 103 of file NURBSbasis.C.

References dict, and Foam::Zero.

◆ NURBSbasis() [4/4]

NURBSbasis ( const NURBSbasis & basis)

Construct as copy.

Definition at line 116 of file NURBSbasis.C.

References DebugInfo, Foam::endl(), and NURBSbasis().

Here is the call graph for this function:

◆ ~NURBSbasis()

virtual ~NURBSbasis ( )
virtualdefault

Destructor.

References degree().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "NURBbasis" )

Runtime type information.

References degree(), dict, knots(), nCPs(), and NURBSbasis().

Here is the call graph for this function:

◆ basisValue()

scalar basisValue ( const label iCP,
const label degree,
const scalar u ) const

Basis value.

Definition at line 132 of file NURBSbasis.C.

References basisValue(), checkRange(), and degree().

Referenced by basisDerivativeU(), and basisValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ basisDerivativeU()

scalar basisDerivativeU ( const label iCP,
const label degree,
const scalar u ) const

Basis derivative w.r.t u.

Definition at line 182 of file NURBSbasis.C.

References basisDerivativeU(), basisValue(), checkRange(), and degree().

Referenced by basisDerivativeU(), and basisDerivativeUU().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ basisDerivativeUU()

scalar basisDerivativeUU ( const label iCP,
const label degree,
const scalar u ) const

Basis second derivative w.r.t u.

Definition at line 223 of file NURBSbasis.C.

References basisDerivativeU(), basisDerivativeUU(), checkRange(), and degree().

Referenced by basisDerivativeUU().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkRange()

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 265 of file NURBSbasis.C.

References degree().

Referenced by basisDerivativeU(), basisDerivativeUU(), and basisValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insertKnot()

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 290 of file NURBSbasis.C.

References UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ knots()

const Foam::scalarField & knots ( ) const
inline

Definition at line 27 of file NURBSbasisI.H.

Referenced by NURBSbasis(), and TypeName().

Here is the caller graph for this function:

◆ degree()

const Foam::label & degree ( ) const
inline

Definition at line 33 of file NURBSbasisI.H.

Referenced by basisDerivativeU(), basisDerivativeUU(), basisValue(), checkRange(), NURBSbasis(), NURBSbasis(), TypeName(), and ~NURBSbasis().

Here is the caller graph for this function:

◆ nCPs()

const Foam::label & nCPs ( ) const
inline

Definition at line 39 of file NURBSbasisI.H.

Referenced by NURBSbasis(), NURBSbasis(), and TypeName().

Here is the caller graph for this function:

The documentation for this class was generated from the following files:
  • src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBSbasis/NURBSbasis.H
  • src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBSbasis/NURBSbasis.C
  • src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBSbasis/NURBSbasisI.H