nurbs::NurbsBase1D Struct Reference

#include <MeshFlatteningNurbs.h>

Public Member Functions

void computeFirstDerivatives ()
 
void computeSecondDerivatives ()
 
spMat getDuMatrix (Eigen::VectorXd u)
 
Eigen::VectorXd getDuVector (double u)
 
spMat getInfluenceMatrix (Eigen::VectorXd u)
 
Eigen::VectorXd getInfluenceVector (double u)
 
Eigen::VectorXd getUMesh (int num_u_points)
 
std::tuple< NurbsBase1D, Eigen::Matrix< double, Eigen::Dynamic, 3 > > interpolateUBS (Eigen::Matrix< double, Eigen::Dynamic, 3 > poles, int degree, int num_u_poles, int num_u_points)
 
 NurbsBase1D ()
 
 NurbsBase1D (Eigen::VectorXd u_knots, Eigen::VectorXd weights, int degree_u=3)
 

Static Public Member Functions

static Eigen::VectorXd getKnotSequence (double u_min, double u_max, int deg, int num_poles)
 
static Eigen::VectorXd getWeightList (Eigen::VectorXd knots, int u_deg)
 

Public Attributes

std::vector< std::function< double(double)> > DDu_functions
 
int degree_u
 
std::vector< std::function< double(double)> > Du_functions
 
std::vector< std::function< double(double)> > u_functions
 
Eigen::VectorXd u_knots
 
Eigen::VectorXd weights
 

Constructor & Destructor Documentation

◆ NurbsBase1D() [1/2]

nurbs::NurbsBase1D::NurbsBase1D ( )

◆ NurbsBase1D() [2/2]

nurbs::NurbsBase1D::NurbsBase1D ( Eigen::VectorXd  u_knots,
Eigen::VectorXd  weights,
int  degree_u = 3 
)

Member Function Documentation

◆ computeFirstDerivatives()

void nurbs::NurbsBase1D::computeFirstDerivatives ( )

◆ computeSecondDerivatives()

void nurbs::NurbsBase1D::computeSecondDerivatives ( )

◆ getDuMatrix()

spMat nurbs::NurbsBase1D::getDuMatrix ( Eigen::VectorXd  u)

◆ getDuVector()

Eigen::VectorXd nurbs::NurbsBase1D::getDuVector ( double  u)

References Du_functions, and u_functions.

Referenced by getDuMatrix().

◆ getInfluenceMatrix()

spMat nurbs::NurbsBase1D::getInfluenceMatrix ( Eigen::VectorXd  u)

◆ getInfluenceVector()

Eigen::VectorXd nurbs::NurbsBase1D::getInfluenceVector ( double  u)

References u_functions.

Referenced by getInfluenceMatrix().

◆ getKnotSequence()

Eigen::VectorXd nurbs::NurbsBase1D::getKnotSequence ( double  u_min,
double  u_max,
int  deg,
int  num_poles 
)
static

◆ getUMesh()

Eigen::VectorXd nurbs::NurbsBase1D::getUMesh ( int  num_u_points)

References u_knots.

Referenced by interpolateUBS().

◆ getWeightList()

Eigen::VectorXd nurbs::NurbsBase1D::getWeightList ( Eigen::VectorXd  knots,
int  u_deg 
)
static

References weights.

Referenced by interpolateUBS().

◆ interpolateUBS()

std::tuple< NurbsBase1D, Eigen::Matrix< double, Eigen::Dynamic, 3 > > nurbs::NurbsBase1D::interpolateUBS ( Eigen::Matrix< double, Eigen::Dynamic, 3 >  poles,
int  degree,
int  num_u_poles,
int  num_u_points 
)

Member Data Documentation

◆ DDu_functions

std::vector<std::function<double(double)> > nurbs::NurbsBase1D::DDu_functions

◆ degree_u

int nurbs::NurbsBase1D::degree_u

◆ Du_functions

std::vector<std::function<double(double)> > nurbs::NurbsBase1D::Du_functions

◆ u_functions

std::vector<std::function<double(double)> > nurbs::NurbsBase1D::u_functions

◆ u_knots

◆ weights

Eigen::VectorXd nurbs::NurbsBase1D::weights

The documentation for this struct was generated from the following files: