#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 |
nurbs::NurbsBase1D::NurbsBase1D | ( | ) |
nurbs::NurbsBase1D::NurbsBase1D | ( | Eigen::VectorXd | u_knots, |
Eigen::VectorXd | weights, | ||
int | degree_u = 3 |
||
) |
References degree_u, nurbs::get_basis(), u_functions, u_knots, and weights.
void nurbs::NurbsBase1D::computeFirstDerivatives | ( | ) |
References degree_u, Du_functions, nurbs::get_basis_derivative(), u_functions, and u_knots.
void nurbs::NurbsBase1D::computeSecondDerivatives | ( | ) |
References DDu_functions, degree_u, nurbs::get_basis_derivative(), u_functions, and u_knots.
spMat nurbs::NurbsBase1D::getDuMatrix | ( | Eigen::VectorXd | u | ) |
References nurbs::add_triplets(), and getDuVector().
Eigen::VectorXd nurbs::NurbsBase1D::getDuVector | ( | double | u | ) |
References Du_functions, and u_functions.
Referenced by getDuMatrix().
spMat nurbs::NurbsBase1D::getInfluenceMatrix | ( | Eigen::VectorXd | u | ) |
References nurbs::add_triplets(), and getInfluenceVector().
Referenced by interpolateUBS().
Eigen::VectorXd nurbs::NurbsBase1D::getInfluenceVector | ( | double | u | ) |
References u_functions.
Referenced by getInfluenceMatrix().
|
static |
References u_knots.
Referenced by interpolateUBS(), and nurbs::NurbsBase2D::interpolateUBS().
Eigen::VectorXd nurbs::NurbsBase1D::getUMesh | ( | int | num_u_points | ) |
References u_knots.
Referenced by interpolateUBS().
|
static |
References weights.
Referenced by 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 | ||
) |
References getInfluenceMatrix(), getKnotSequence(), getUMesh(), getWeightList(), u_knots, and weights.
std::vector<std::function<double(double)> > nurbs::NurbsBase1D::DDu_functions |
Referenced by computeSecondDerivatives().
int nurbs::NurbsBase1D::degree_u |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), and NurbsBase1D().
std::vector<std::function<double(double)> > nurbs::NurbsBase1D::Du_functions |
Referenced by computeFirstDerivatives(), and getDuVector().
std::vector<std::function<double(double)> > nurbs::NurbsBase1D::u_functions |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), getDuVector(), getInfluenceVector(), and NurbsBase1D().
Eigen::VectorXd nurbs::NurbsBase1D::u_knots |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), getKnotSequence(), getUMesh(), interpolateUBS(), automotive_design.b_spline_surface_with_knots::knot_u_upper(), config_control_design.b_spline_surface_with_knots::knot_u_upper(), NurbsBase1D(), automotive_design.b_spline_surface_with_knots::wr1(), and config_control_design.b_spline_surface_with_knots::wr1().
Eigen::VectorXd nurbs::NurbsBase1D::weights |
Referenced by getWeightList(), interpolateUBS(), and NurbsBase1D().