Bspline class. More...
#include <Mathematics/Bsplines.hh>
Public Member Functions | |
Bsplines (int degree) | |
~Bsplines () | |
void | GenerateDegree () |
Bsplines | DerivativeBsplines () |
int | ComputeBasisFunctions (double t) |
int | ComputeBasisFunctionsRecursively (double t, std::deque< double > &knot, unsigned int degree) |
double | Nij_t (int i, int j, double t, std::deque< double > &knot) |
double | ComputeBsplines (double t) |
void | SetDegree (int degree) |
void | SetControlPoints (std::vector< double > &control_points) |
void | SetKnotVector (std::deque< double > &knot_vector) |
int | GetDegree () const |
std::vector< double > | GetControlPoints () const |
std::deque< double > | GetKnotVector () const |
void | PrintKnotVector () const |
void | PrintControlPoints () const |
void | PrintDegree () const |
Protected Attributes | |
unsigned int | m_degree |
std::vector< double > | m_control_points |
std::vector< double > | m_derivative_control_points |
std::vector< double > | m_sec_derivative_control_points |
std::vector< std::vector < double > > | m_basis_functions |
std::vector< double > | m_basis_functions_derivative |
std::vector< double > | m_basis_functions_sec_derivative |
std::deque< double > | m_knot |
Bspline class.
Bsplines::Bsplines | ( | int | degree | ) |
Constructor
Bsplines::~Bsplines | ( | ) |
Destructor
int Bsplines::ComputeBasisFunctions | ( | double | t | ) |
Compute Basic Function and its first and second derivatives
References n.
Referenced by PatternGeneratorJRL::PolynomeFoot::Compute(), PatternGeneratorJRL::BSplinesFoot::ComputeControlPointFrom2DataPoint(), PatternGeneratorJRL::BSplinesFoot::ComputeControlPointFrom3DataPoint(), and PatternGeneratorJRL::BSplinesFoot::ComputeControlPointFrom4DataPoint().
int Bsplines::ComputeBasisFunctionsRecursively | ( | double | t, |
std::deque< double > & | knot, | ||
unsigned int | degree | ||
) |
double Bsplines::ComputeBsplines | ( | double | t | ) |
Compute Bsplines
Bsplines Bsplines::DerivativeBsplines | ( | ) |
Create a Knot Vector from m_degree and m_control_points with an algo "method"
Create a derivative Bsplines
References SetControlPoints(), and SetKnotVector().
void Bsplines::GenerateDegree | ( | ) |
Caculate Degree of Bsplines from m_control_points and m_knot
std::vector< double > Bsplines::GetControlPoints | ( | ) | const |
Get Control Points
int Bsplines::GetDegree | ( | ) | const |
Get Degree
std::deque< double > Bsplines::GetKnotVector | ( | ) | const |
Get Knot Vector
double Bsplines::Nij_t | ( | int | i, |
int | j, | ||
double | t, | ||
std::deque< double > & | knot | ||
) |
void Bsplines::PrintControlPoints | ( | ) | const |
void Bsplines::PrintDegree | ( | ) | const |
void Bsplines::PrintKnotVector | ( | ) | const |
void Bsplines::SetControlPoints | ( | std::vector< double > & | control_points | ) |
Set Control Points
Referenced by DerivativeBsplines().
void Bsplines::SetDegree | ( | int | degree | ) |
Set Degree
void Bsplines::SetKnotVector | ( | std::deque< double > & | knot_vector | ) |
Set Knot Vector
Referenced by DerivativeBsplines(), and PatternGeneratorJRL::StepOverClampedCubicSpline::SetParameters().
std::vector< std::vector<double> > PatternGeneratorJRL::Bsplines::m_basis_functions [protected] |
std::vector<double> PatternGeneratorJRL::Bsplines::m_basis_functions_derivative [protected] |
std::vector<double> PatternGeneratorJRL::Bsplines::m_basis_functions_sec_derivative [protected] |
std::vector<double> PatternGeneratorJRL::Bsplines::m_control_points [protected] |
Referenced by PatternGeneratorJRL::PolynomeFoot::Compute(), PatternGeneratorJRL::BSplinesFoot::ComputeControlPointFrom2DataPoint(), PatternGeneratorJRL::BSplinesFoot::ComputeControlPointFrom3DataPoint(), PatternGeneratorJRL::BSplinesFoot::ComputeControlPointFrom4DataPoint(), and PatternGeneratorJRL::StepOverClampedCubicSpline::SetParameters().
unsigned int PatternGeneratorJRL::Bsplines::m_degree [protected] |
std::vector<double> PatternGeneratorJRL::Bsplines::m_derivative_control_points [protected] |
std::deque<double> PatternGeneratorJRL::Bsplines::m_knot [protected] |
std::vector<double> PatternGeneratorJRL::Bsplines::m_sec_derivative_control_points [protected] |