#include <MeshFlatteningNurbs.h>
Public Member Functions | |
void | computeFirstDerivatives () |
void | computeSecondDerivatives () |
spMat | getDuMatrix (Eigen::Matrix< double, Eigen::Dynamic, 2 > U) |
Eigen::VectorXd | getDuVector (Eigen::Vector2d u) |
spMat | getDvMatrix (Eigen::Matrix< double, Eigen::Dynamic, 2 > U) |
Eigen::VectorXd | getDvVector (Eigen::Vector2d u) |
spMat | getInfluenceMatrix (Eigen::Matrix< double, Eigen::Dynamic, 2 > U) |
Eigen::VectorXd | getInfluenceVector (Eigen::Vector2d u) |
Eigen::Matrix< double, Eigen::Dynamic, 2 > | getUVMesh (int num_u_points, int num_v_points) |
std::tuple< NurbsBase2D, Eigen::MatrixXd > | interpolateUBS (Eigen::Matrix< double, Eigen::Dynamic, 3 > poles, int degree_u, int degree_v, int num_u_poles, int num_v_poles, int num_u_points, int num_v_points) |
NurbsBase2D () | |
NurbsBase2D (Eigen::VectorXd u_knots, Eigen::VectorXd v_knots, Eigen::VectorXd weights, int degree_u=3, int degree_v=3) | |
Public Attributes | |
std::vector< std::function< double(double)> > | DDu_functions |
std::vector< std::function< double(double)> > | DDv_functions |
int | degree_u |
int | degree_v |
std::vector< std::function< double(double)> > | Du_functions |
std::vector< std::function< double(double)> > | Dv_functions |
std::vector< std::function< double(double)> > | u_functions |
Eigen::VectorXd | u_knots |
std::vector< std::function< double(double)> > | v_functions |
Eigen::VectorXd | v_knots |
Eigen::VectorXd | weights |
nurbs::NurbsBase2D::NurbsBase2D | ( | ) |
nurbs::NurbsBase2D::NurbsBase2D | ( | Eigen::VectorXd | u_knots, |
Eigen::VectorXd | v_knots, | ||
Eigen::VectorXd | weights, | ||
int | degree_u = 3 , |
||
int | degree_v = 3 |
||
) |
References degree_u, degree_v, nurbs::get_basis(), u_functions, u_knots, v_functions, v_knots, and weights.
void nurbs::NurbsBase2D::computeFirstDerivatives | ( | ) |
References degree_u, degree_v, Du_functions, Dv_functions, nurbs::get_basis_derivative(), u_functions, u_knots, v_functions, and v_knots.
void nurbs::NurbsBase2D::computeSecondDerivatives | ( | ) |
References DDu_functions, DDv_functions, degree_u, degree_v, nurbs::get_basis_derivative(), u_functions, u_knots, v_functions, and v_knots.
spMat nurbs::NurbsBase2D::getDuMatrix | ( | Eigen::Matrix< double, Eigen::Dynamic, 2 > | U | ) |
References nurbs::add_triplets(), and getDuVector().
Eigen::VectorXd nurbs::NurbsBase2D::getDuVector | ( | Eigen::Vector2d | u | ) |
References Du_functions, u_functions, and v_functions.
Referenced by getDuMatrix().
spMat nurbs::NurbsBase2D::getDvMatrix | ( | Eigen::Matrix< double, Eigen::Dynamic, 2 > | U | ) |
References nurbs::add_triplets(), and getDvVector().
Eigen::VectorXd nurbs::NurbsBase2D::getDvVector | ( | Eigen::Vector2d | u | ) |
References Dv_functions, u_functions, and v_functions.
Referenced by getDvMatrix().
spMat nurbs::NurbsBase2D::getInfluenceMatrix | ( | Eigen::Matrix< double, Eigen::Dynamic, 2 > | U | ) |
References nurbs::add_triplets(), and getInfluenceVector().
Referenced by FaceUnwrapper::interpolateFlatFace(), and interpolateUBS().
Eigen::VectorXd nurbs::NurbsBase2D::getInfluenceVector | ( | Eigen::Vector2d | u | ) |
References u_functions, and v_functions.
Referenced by getInfluenceMatrix().
Eigen::Matrix< double, Eigen::Dynamic, 2 > nurbs::NurbsBase2D::getUVMesh | ( | int | num_u_points, |
int | num_v_points | ||
) |
References u_knots, and v_knots.
Referenced by interpolateUBS().
std::tuple< NurbsBase2D, Eigen::MatrixXd > nurbs::NurbsBase2D::interpolateUBS | ( | Eigen::Matrix< double, Eigen::Dynamic, 3 > | poles, |
int | degree_u, | ||
int | degree_v, | ||
int | num_u_poles, | ||
int | num_v_poles, | ||
int | num_u_points, | ||
int | num_v_points | ||
) |
References degree_u, degree_v, getInfluenceMatrix(), nurbs::NurbsBase1D::getKnotSequence(), getUVMesh(), u_knots, v_knots, and weights.
std::vector<std::function<double(double)> > nurbs::NurbsBase2D::DDu_functions |
Referenced by computeSecondDerivatives().
std::vector<std::function<double(double)> > nurbs::NurbsBase2D::DDv_functions |
Referenced by computeSecondDerivatives().
int nurbs::NurbsBase2D::degree_u |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), interpolateUBS(), and NurbsBase2D().
int nurbs::NurbsBase2D::degree_v |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), interpolateUBS(), and NurbsBase2D().
std::vector<std::function<double(double)> > nurbs::NurbsBase2D::Du_functions |
Referenced by computeFirstDerivatives(), and getDuVector().
std::vector<std::function<double(double)> > nurbs::NurbsBase2D::Dv_functions |
Referenced by computeFirstDerivatives(), and getDvVector().
std::vector<std::function<double(double)> > nurbs::NurbsBase2D::u_functions |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), getDuVector(), getDvVector(), getInfluenceVector(), and NurbsBase2D().
Eigen::VectorXd nurbs::NurbsBase2D::u_knots |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), getUVMesh(), interpolateUBS(), automotive_design.b_spline_surface_with_knots::knot_u_upper(), config_control_design.b_spline_surface_with_knots::knot_u_upper(), NurbsBase2D(), automotive_design.b_spline_surface_with_knots::wr1(), and config_control_design.b_spline_surface_with_knots::wr1().
std::vector<std::function<double(double)> > nurbs::NurbsBase2D::v_functions |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), getDuVector(), getDvVector(), getInfluenceVector(), and NurbsBase2D().
Eigen::VectorXd nurbs::NurbsBase2D::v_knots |
Referenced by computeFirstDerivatives(), computeSecondDerivatives(), getUVMesh(), interpolateUBS(), automotive_design.b_spline_surface_with_knots::knot_v_upper(), config_control_design.b_spline_surface_with_knots::knot_v_upper(), NurbsBase2D(), automotive_design.b_spline_surface_with_knots::wr2(), and config_control_design.b_spline_surface_with_knots::wr2().
Eigen::VectorXd nurbs::NurbsBase2D::weights |
Referenced by interpolateUBS(), and NurbsBase2D().