changed: make NURBS basis evaluation methods static and public
for reuse in fields classes
This commit is contained in:
@@ -657,6 +657,23 @@ public:
|
||||
//! \brief Returns the number of elements on a boundary.
|
||||
virtual size_t getNoBoundaryElms(char lIndex, char ldim) const;
|
||||
|
||||
//! \brief Evaluate NURBS basis functions in a point.
|
||||
static void computeBasisNurbs(double u, double v,
|
||||
Go::BasisPtsSf& bas, int iel,
|
||||
const LR::LRSplineSurface& spline);
|
||||
//! \brief Evaluate NURBS basis functions and first derivatives in a point.
|
||||
static void computeBasisNurbs(double u, double v,
|
||||
Go::BasisDerivsSf& bas, int iel,
|
||||
const LR::LRSplineSurface& spline);
|
||||
//! \brief Evaluate NURBS basis functions and two derivatives in a point.
|
||||
static void computeBasisNurbs(double u, double v,
|
||||
Go::BasisDerivsSf2& bas, int iel,
|
||||
const LR::LRSplineSurface& spline);
|
||||
//! \brief Evaluate NURBS basis functions and three derivatives in a point.
|
||||
static void computeBasisNurbs(double u, double v,
|
||||
Go::BasisDerivsSf3& bas, int iel,
|
||||
const LR::LRSplineSurface& spline);
|
||||
|
||||
//! \brief Query whether basis is rational or not.
|
||||
bool rational() const { return is_rational; }
|
||||
|
||||
@@ -705,23 +722,6 @@ private:
|
||||
bool evaluateBasisNurbs(int iel, FiniteElement& fe,
|
||||
int derivs) const;
|
||||
|
||||
//! \brief Evaluate NURBS basis functions in a point.
|
||||
void computeBasisNurbs(double u, double v,
|
||||
Go::BasisPtsSf& bas, int iel,
|
||||
const LR::LRSplineSurface& spline) const;
|
||||
//! \brief Evaluate NURBS basis functions and first derivatives in a point.
|
||||
void computeBasisNurbs(double u, double v,
|
||||
Go::BasisDerivsSf& bas, int iel,
|
||||
const LR::LRSplineSurface& spline) const;
|
||||
//! \brief Evaluate NURBS basis functions and two derivatives in a point.
|
||||
void computeBasisNurbs(double u, double v,
|
||||
Go::BasisDerivsSf2& bas, int iel,
|
||||
const LR::LRSplineSurface& spline) const;
|
||||
//! \brief Evaluate NURBS basis functions and three derivatives in a point.
|
||||
void computeBasisNurbs(double u, double v,
|
||||
Go::BasisDerivsSf3& bas, int iel,
|
||||
const LR::LRSplineSurface& spline) const;
|
||||
|
||||
//! \brief Write NURBS elements as postscript file.
|
||||
void writePostscriptElementsNurbs (std::shared_ptr<LR::LRSplineSurface> mesh,
|
||||
std::ostream& out, bool close = true,
|
||||
|
||||
@@ -128,7 +128,7 @@ bool ASMu2D::evaluateBasisNurbs (int iel, FiniteElement& fe,
|
||||
|
||||
void ASMu2D::computeBasisNurbs (double u, double v,
|
||||
Go::BasisPtsSf& bas, int iel,
|
||||
const LR::LRSplineSurface& spline) const
|
||||
const LR::LRSplineSurface& spline)
|
||||
{
|
||||
PROFILE3("ASMu2D::compBasisN(0)");
|
||||
|
||||
@@ -150,7 +150,7 @@ void ASMu2D::computeBasisNurbs (double u, double v,
|
||||
|
||||
void ASMu2D::computeBasisNurbs (double u, double v,
|
||||
Go::BasisDerivsSf& bas, int iel,
|
||||
const LR::LRSplineSurface& spline) const
|
||||
const LR::LRSplineSurface& spline)
|
||||
{
|
||||
PROFILE3("ASMu2D::compBasisN(1)");
|
||||
|
||||
@@ -178,7 +178,7 @@ void ASMu2D::computeBasisNurbs (double u, double v,
|
||||
|
||||
void ASMu2D::computeBasisNurbs (double u, double v,
|
||||
Go::BasisDerivsSf2& bas, int iel,
|
||||
const LR::LRSplineSurface& spline) const
|
||||
const LR::LRSplineSurface& spline)
|
||||
{
|
||||
PROFILE3("ASMu2D::compBasisN(2)");
|
||||
|
||||
@@ -220,7 +220,7 @@ void ASMu2D::computeBasisNurbs (double u, double v,
|
||||
|
||||
void ASMu2D::computeBasisNurbs (double u, double v,
|
||||
Go::BasisDerivsSf3& bas, int iel,
|
||||
const LR::LRSplineSurface& spline) const
|
||||
const LR::LRSplineSurface& spline)
|
||||
{
|
||||
PROFILE3("ASMu2D::compBasisN(3)");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user