PatternGeneratorJRL::Bsplines Class Reference

#include <Mathematics/Bsplines.hh>

Inheritance diagram for PatternGeneratorJRL::Bsplines:

Public Member Functions

 Bsplines (long 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 (long int degree)
 
void SetControlPoints (std::vector< double > &control_points)
 
void SetKnotVector (std::deque< double > &knot_vector)
 
long int GetDegree () const
 
std::vector< double > GetControlPoints () const
 
std::deque< double > GetKnotVector () const
 
void PrintKnotVector () const
 
void PrintControlPoints () const
 
void PrintDegree () const
 

Protected Attributes

long 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
 

Detailed Description

Bspline class

Constructor & Destructor Documentation

◆ Bsplines()

Bsplines::Bsplines ( long int  degree)

Constructor

◆ ~Bsplines()

Bsplines::~Bsplines ( )

Destructor

Member Function Documentation

◆ ComputeBasisFunctions()

int Bsplines::ComputeBasisFunctions ( double  t)

Compute Basic Function and its first and second derivatives

◆ ComputeBasisFunctionsRecursively()

int Bsplines::ComputeBasisFunctionsRecursively ( double  t,
std::deque< double > &  knot,
unsigned int  degree 
)

◆ ComputeBsplines()

double Bsplines::ComputeBsplines ( double  t)

Compute Bsplines

◆ DerivativeBsplines()

Bsplines Bsplines::DerivativeBsplines ( )

Create a Knot Vector from m_degree and m_control_points with an algo "method"

Create a derivative Bsplines

◆ GenerateDegree()

void Bsplines::GenerateDegree ( )

Caculate Degree of Bsplines from m_control_points and m_knot

◆ GetControlPoints()

std::vector< double > Bsplines::GetControlPoints ( ) const

Get Control Points

◆ GetDegree()

long int Bsplines::GetDegree ( ) const

Get Degree

◆ GetKnotVector()

std::deque< double > Bsplines::GetKnotVector ( ) const

Get Knot Vector

◆ Nij_t()

double Bsplines::Nij_t ( int  i,
int  j,
double  t,
std::deque< double > &  knot 
)

◆ PrintControlPoints()

void Bsplines::PrintControlPoints ( ) const

◆ PrintDegree()

void Bsplines::PrintDegree ( ) const

◆ PrintKnotVector()

void Bsplines::PrintKnotVector ( ) const

◆ SetControlPoints()

void Bsplines::SetControlPoints ( std::vector< double > &  control_points)

Set Control Points

◆ SetDegree()

void Bsplines::SetDegree ( long int  degree)

Set Degree

◆ SetKnotVector()

void Bsplines::SetKnotVector ( std::deque< double > &  knot_vector)

Set Knot Vector

Member Data Documentation

◆ m_basis_functions

std::vector<std::vector<double> > PatternGeneratorJRL::Bsplines::m_basis_functions
protected

◆ m_basis_functions_derivative

std::vector<double> PatternGeneratorJRL::Bsplines::m_basis_functions_derivative
protected

◆ m_basis_functions_sec_derivative

std::vector<double> PatternGeneratorJRL::Bsplines::m_basis_functions_sec_derivative
protected

◆ m_control_points

std::vector<double> PatternGeneratorJRL::Bsplines::m_control_points
protected

◆ m_degree

long int PatternGeneratorJRL::Bsplines::m_degree
protected

◆ m_derivative_control_points

std::vector<double> PatternGeneratorJRL::Bsplines::m_derivative_control_points
protected

◆ m_knot

std::deque<double> PatternGeneratorJRL::Bsplines::m_knot
protected

◆ m_sec_derivative_control_points

std::vector<double> PatternGeneratorJRL::Bsplines::m_sec_derivative_control_points
protected

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