ViSP
2.6.2

#include <vpNurbs.h>
Public Member Functions  
vpNurbs ()  
vpNurbs (const vpNurbs &nurbs)  
virtual  ~vpNurbs () 
void  get_weights (std::list< double > &list) const 
void  set_weights (const std::list< double > &list) 
vpImagePoint  computeCurvePoint (double u) 
vpImagePoint *  computeCurveDersPoint (double u, unsigned int der) 
void  curveKnotIns (double u, unsigned int s=0, unsigned int r=1) 
void  refineKnotVectCurve (double *x, unsigned int r) 
unsigned int  removeCurveKnot (double l_u, unsigned int l_r, unsigned int l_num, double l_TOL) 
void  globalCurveInterp (vpList< vpMeSite > &l_crossingPoints) 
void  globalCurveInterp (const std::list< vpImagePoint > &l_crossingPoints) 
void  globalCurveInterp (const std::list< vpMeSite > &l_crossingPoints) 
void  globalCurveInterp () 
void  globalCurveApprox (vpList< vpMeSite > &l_crossingPoints, unsigned int n) 
void  globalCurveApprox (const std::list< vpImagePoint > &l_crossingPoints, unsigned int n) 
void  globalCurveApprox (const std::list< vpMeSite > &l_crossingPoints, unsigned int n) 
void  globalCurveApprox (unsigned int n) 
unsigned int  get_p () const 
void  get_controlPoints (std::list< vpImagePoint > &list) const 
void  get_knots (std::list< double > &list) const 
void  get_crossingPoints (std::list< vpImagePoint > &list) const 
void  set_p (unsigned int p) 
void  set_controlPoints (const std::list< vpImagePoint > &list) 
void  set_knots (const std::list< double > &list) 
void  set_crossingPoints (const std::list< vpImagePoint > &list) 
unsigned int  findSpan (double u) 
vpBasisFunction *  computeBasisFuns (double u) 
vpBasisFunction **  computeDersBasisFuns (double u, unsigned int der) 
Deprecated functions  
vp_deprecated vpList< double >  get_weights () const 
vp_deprecated void  set_weights (vpList< double > &list) 
vp_deprecated void  globalCurveApprox (vpList< vpImagePoint > &l_crossingPoints, unsigned int n) 
vp_deprecated void  globalCurveInterp (vpList< vpImagePoint > &l_crossingPoints) 
Deprecated functions  
vp_deprecated vpList< vpImagePoint >  get_controlPoints () const 
vp_deprecated vpList< double >  get_knots () const 
vp_deprecated vpList< vpImagePoint >  get_crossingPoints () const 
vp_deprecated void  set_controlPoints (vpList< vpImagePoint > &list) 
vp_deprecated void  set_knots (vpList< double > &list) 
vp_deprecated void  set_crossingPoints (vpList< vpImagePoint > &list) 
Static Public Member Functions  
static vpImagePoint  computeCurvePoint (double l_u, unsigned int l_i, unsigned int l_p, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints, std::vector< double > &l_weights) 
static vpImagePoint *  computeCurveDersPoint (double l_u, unsigned int l_i, unsigned int l_p, unsigned int l_der, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints, std::vector< double > &l_weights) 
static void  curveKnotIns (double l_u, unsigned int l_k, unsigned int l_s, unsigned int l_r, unsigned int l_p, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints, std::vector< double > &l_weights) 
static void  refineKnotVectCurve (double *l_x, unsigned int l_r, unsigned int l_p, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints, std::vector< double > &l_weights) 
static unsigned int  removeCurveKnot (double l_u, unsigned int l_r, unsigned int l_num, double l_TOL, unsigned int l_s, unsigned int l_p, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints, std::vector< double > &l_weights) 
static void  globalCurveInterp (std::vector< vpImagePoint > &l_crossingPoints, unsigned int l_p, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints, std::vector< double > &l_weights) 
static void  globalCurveApprox (std::vector< vpImagePoint > &l_crossingPoints, unsigned int l_p, unsigned int l_n, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints, std::vector< double > &l_weights) 
static unsigned int  findSpan (double l_u, unsigned int l_p, std::vector< double > &l_knots) 
static vpBasisFunction *  computeBasisFuns (double l_u, unsigned int l_i, unsigned int l_p, std::vector< double > &l_knots) 
static vpBasisFunction **  computeDersBasisFuns (double l_u, unsigned int l_i, unsigned int l_p, unsigned int l_der, std::vector< double > &l_knots) 
static vpImagePoint  computeCurvePoint (double l_u, unsigned int l_i, unsigned int l_p, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints) 
static vpImagePoint *  computeCurveDers (double l_u, unsigned int l_i, unsigned int l_p, unsigned int l_der, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints) 
Protected Member Functions  
vpMatrix  computeCurveDers (double u, unsigned int der) 
Static Protected Member Functions  
static vpMatrix  computeCurveDers (double l_u, unsigned int l_i, unsigned int l_p, unsigned int l_der, std::vector< double > &l_knots, std::vector< vpImagePoint > &l_controlPoints, std::vector< double > &l_weights) 
Protected Attributes  
std::vector< double >  weights 
Class that provides tools to compute and manipulate a Non Uniform Rational BSpline curve.
The different parameters are :
The BSpline basis functions defined as :
where and p is the degree of the BSpline basis functions.
It is possible to compute the coordinates of a point corresponding to the knots ( ) thanks to the formula :
You can find much more information about the BSplines and the implementation of all the methods in the Nurbs Book.
vpNurbs::vpNurbs  (  ) 
Basic constructor.
The degree of the NURBS basis functions is set to 3 to compute cubic NURBS.
Definition at line 66 of file vpNurbs.cpp.
vpNurbs::vpNurbs  (  const vpNurbs &  nurbs  ) 

virtual 
Basic destructor
Definition at line 82 of file vpNurbs.cpp.

staticinherited 
Compute the nonvanishing basis functions at which is in the th knot interval. All the basis functions are stored in an array such as :
N = , , , ... , , ..., , ... , , ... ,
l_u  : A real number which is between the extrimities of the knot vector 
l_i  : the number of the knot interval in which lies 
l_p  : Degree of the BSpline basis functions. 
l_knots  : The knot vector 
Definition at line 149 of file vpBSpline.cpp.
Referenced by vpBSpline::computeBasisFuns(), computeCurvePoint(), vpBSpline::computeCurvePoint(), globalCurveApprox(), and globalCurveInterp().

inherited 
Compute the nonvanishing basis functions at . All the basis functions are stored in an array such as :
N = , , , ... , , ..., , ... , , ... ,
where i the number of the knot interval in which lies.
u  : A real number which is between the extrimities of the knot vector 
Definition at line 200 of file vpBSpline.cpp.
References vpBSpline::computeBasisFuns(), and vpBSpline::findSpan().

staticprotected 
This function is used in the computeCurveDersPoint method.
Compute the kth derivatives of for .
The formula used is the following :
where is the knot interval number in which lies, is the degree of the NURBS basis function and contains the control points and the associatede weights.
l_u  : A real number which is between the extrimities of the knot vector 
l_i  : the number of the knot interval in which lies 
l_p  : Degree of the NURBS basis functions. 
l_der  : The last derivative to be computed. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
l_weights  : the list of weights. 
Definition at line 180 of file vpNurbs.cpp.
References vpBSpline::computeDersBasisFuns().
Referenced by computeCurveDersPoint().

protected 
This function is used in the computeCurveDersPoint method.
Compute the kth derivatives of for .
The formula used is the following :
where is the knot interval number in which lies, is the degree of the NURBS basis function and contains the control points and the associatede weights.
u  : A real number which is between the extrimities of the knot vector 
der  : The last derivative to be computed. 
Definition at line 228 of file vpNurbs.cpp.
References vpBSpline::computeDersBasisFuns(), and weights.

staticinherited 
Compute the kth derivatives of for .
The formula used is the following :
where is the knot interval number in which lies and is the degree of the BSpline basis function.
l_u  : A real number which is between the extrimities of the knot vector 
l_i  : the number of the knot interval in which lies 
l_p  : Degree of the BSpline basis functions. 
l_der  : The last derivative to be computed. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
Definition at line 453 of file vpBSpline.cpp.
References vpBSpline::computeDersBasisFuns(), vpImagePoint::set_i(), vpImagePoint::set_ij(), vpImagePoint::set_j(), and vpTRACE.

static 
Compute the kth derivatives of for .
To see how the derivatives are computed refers to the Nurbs book.
l_u  : A real number which is between the extrimities of the knot vector 
l_i  : the number of the knot interval in which lies 
l_p  : Degree of the NURBS basis functions. 
l_der  : The last derivative to be computed. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
l_weights  : the list of weights. 
Definition at line 269 of file vpNurbs.cpp.
References vpMath::comb(), computeCurveDers(), vpImagePoint::get_i(), vpImagePoint::get_j(), vpImagePoint::set_i(), vpImagePoint::set_ij(), and vpImagePoint::set_j().
Referenced by computeCurveDersPoint(), vpMeNurbs::localReSample(), vpMeNurbs::sample(), vpMeNurbs::seekExtremities(), and vpMeNurbs::updateDelta().
vpImagePoint * vpNurbs::computeCurveDersPoint  (  double  u, 
unsigned int  der  
) 
Compute the kth derivatives of for .
To see how the derivatives are computed refers to the Nurbs book.
u  : A real number which is between the extrimities of the knot vector 
der  : The last derivative to be computed. 
Definition at line 316 of file vpNurbs.cpp.
References computeCurveDersPoint(), vpBSpline::findSpan(), and weights.

static 
Compute the coordinates of a point corresponding to the knot .
l_u  : A real number which is between the extrimities of the knot vector 
l_i  : the number of the knot interval in which lies 
l_p  : Degree of the NURBS basis functions. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
l_weights  : the list of weights. 
return the coordinates of a point corresponding to the knot .
Definition at line 99 of file vpNurbs.cpp.
References vpBSpline::computeBasisFuns(), vpImagePoint::set_i(), and vpImagePoint::set_j().
Referenced by vpMeNurbs::display(), vpMeNurbs::localReSample(), vpMeNurbs::track(), and vpMeNurbs::updateDelta().
vpImagePoint vpNurbs::computeCurvePoint  (  double  u  ) 
Compute the coordinates of a point corresponding to the knot .
u  : A real number which is between the extrimities of the knot vector 
return the coordinates of a point corresponding to the knot .
Definition at line 133 of file vpNurbs.cpp.
References vpBSpline::computeBasisFuns(), vpImagePoint::set_i(), vpImagePoint::set_j(), and weights.

staticinherited 
Compute the coordinates of a point corresponding to the knot .
l_u  : A real number which is between the extrimities of the knot vector 
l_i  : the number of the knot interval in which lies 
l_p  : Degree of the BSpline basis functions. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
return the coordinates of a point corresponding to the knot .
Definition at line 384 of file vpBSpline.cpp.
References vpBSpline::computeBasisFuns(), vpImagePoint::set_i(), and vpImagePoint::set_j().

staticinherited 
Compute the nonzero basis functions and their derivatives until the th derivative. All the functions are computed at l_u.
The result is given as an array of size l_der+1 x l_p+1. The kth line corresponds to the kth basis functions derivatives.
The formula to compute the kth derivative at is :
where is the knot interval number in which lies and is the degree of the BSpline basis function.
l_u  : A real number which is between the extrimities of the knot vector 
l_i  : the number of the knot interval in which lies 
l_p  : Degree of the BSpline basis functions. 
l_der  : The last derivative to be computed. 
l_knots  : The knot vector 
Example : return[0] is the list of the 0th derivatives ie the basis functions. return[k] is the list of the kth derivatives.
Definition at line 230 of file vpBSpline.cpp.
References vpTRACE.
Referenced by computeCurveDers(), vpBSpline::computeCurveDers(), and vpBSpline::computeDersBasisFuns().

inherited 
Compute the nonzero basis functions and their derivatives until the th derivative. All the functions are computed at u.
The result is given as an array of size der+1 x p+1. The kth line corresponds to the kth basis functions derivatives.
The formula to compute the kth derivative at is :
where is the knot interval number in which lies and is the degree of the BSpline basis function.
u  : A real number which is between the extrimities of the knot vector 
der  : The last derivative to be computed. 
Example : return[0] is the list of the 0th derivatives ie the basis functions. return[k] is the list of the kth derivatives.
Definition at line 366 of file vpBSpline.cpp.
References vpBSpline::computeDersBasisFuns(), and vpBSpline::findSpan().

static 
Insert times a knot in the th interval of the knot vector. The inserted knot has multiplicity .
Of course the knot vector changes. But The list of control points and the list of the associated weights change too.
l_u  : A real number which is between the extrimities of the knot vector and which has to be inserted. 
l_k  : The number of the knot interval in which lies. 
l_s  : Multiplicity of 
l_r  : Number of times has to be inserted. 
l_p  : Degree of the NURBS basis functions. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
l_weights  : the list of weights. 
Definition at line 337 of file vpNurbs.cpp.
References vpMatrix::insert(), and vpImagePoint::set_ij().
Referenced by curveKnotIns().
void vpNurbs::curveKnotIns  (  double  u, 
unsigned int  s = 0 , 

unsigned int  r = 1 

) 
Insert times a knot in the th interval of the knot vector. The inserted knot has multiplicity .
Of course the knot vector changes. But The list of control points and the list of the associated weights change too.
u  : A real number which is between the extrimities of the knot vector and which has to be inserted. 
s  : Multiplicity of 
r  : Number of times has to be inserted. 
Definition at line 401 of file vpNurbs.cpp.
References curveKnotIns(), vpBSpline::findSpan(), and weights.

staticinherited 
Find the knot interval in which the parameter lies. Indeed
Example : The knot vector is the following with is equal to 1.
l_u  : The knot whose knot interval is seeked. 
l_p  : Degree of the BSpline basis functions. 
l_knots  : The knot vector 
Definition at line 89 of file vpBSpline.cpp.
References vpMath::maximum(), and vpMath::round().
Referenced by vpBSpline::computeBasisFuns(), computeCurveDersPoint(), vpBSpline::computeDersBasisFuns(), curveKnotIns(), vpBSpline::findSpan(), globalCurveApprox(), globalCurveInterp(), and refineKnotVectCurve().

inherited 
Find the knot interval in which the parameter lies. Indeed
Example : The knot vector is the following with is equal to 1.
u  : The knot whose knot interval is seeked. 
Definition at line 131 of file vpBSpline.cpp.
References vpBSpline::findSpan().

inlineinherited 
Gets all the control points.
list  : A std::list containing the coordinates of the control points. 
Definition at line 139 of file vpBSpline.h.

inlineinherited 
Gets all the control points.
Definition at line 238 of file vpBSpline.h.
References vpList< type >::addRight().

inlineinherited 
Gets all the crossing points (used in the interpolation method)
list  : A std::list containing the coordinates of the crossing points. 
Definition at line 161 of file vpBSpline.h.

inlineinherited 
Gets all the crossing points (used in the interpolation method)
Definition at line 262 of file vpBSpline.h.
References vpList< type >::addRight().

inlineinherited 
Gets all the knots.
list  : A std::list containing the value of the knots. 
Definition at line 150 of file vpBSpline.h.

inlineinherited 
Gets all the knots.
Definition at line 250 of file vpBSpline.h.
References vpList< type >::addRight().

inlineinherited 
Gets the degree of the BSpline.
Definition at line 132 of file vpBSpline.h.

inline 

inline 
Gets all the weights relative to the control points.
Definition at line 166 of file vpNurbs.h.
References vpList< type >::addRight().

static 
Method which enables to compute a NURBS curve approximating a set of data points.
The data points are approximated thanks to a least square method.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
l_p  : Degree of the NURBS basis functions. 
l_n  : The desired number of control points. l_n must be under or equal to the number of data points. 
l_knots  : The knot vector. 
l_controlPoints  : the list of control points. 
l_weights  : the list of weights. 
Definition at line 865 of file vpNurbs.cpp.
References vpMatrix::AtA(), vpBSpline::computeBasisFuns(), vpBSpline::findSpan(), vpMatrix::pseudoInverse(), and vpImagePoint::set_ij().
Referenced by globalCurveApprox(), and vpMeNurbs::track().
Method which enables to compute a NURBS curve approximating a set of data points.
The data points are approximated thanks to a least square method.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
n  : The desired number of control points. This parameter n must be under or equal to the number of data points. 
Definition at line 1005 of file vpNurbs.cpp.
References vpList< type >::front(), globalCurveApprox(), vpMeSite::ifloat, vpMeSite::jfloat, vpList< type >::next(), vpList< type >::outside(), vpList< type >::value(), and weights.
void vpNurbs::globalCurveApprox  (  const std::list< vpImagePoint > &  l_crossingPoints, 
unsigned int  n  
) 
Method which enables to compute a NURBS curve approximating a set of data points.
The data points are approximated thanks to a least square method.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
n  : The desired number of control points. The parameter n must be under or equal to the number of data points. 
Definition at line 1029 of file vpNurbs.cpp.
References globalCurveApprox(), and weights.
void vpNurbs::globalCurveApprox  (  const std::list< vpMeSite > &  l_crossingPoints, 
unsigned int  n  
) 
Method which enables to compute a NURBS curve approximating a set of data points.
The data points are approximated thanks to a least square method.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
n  : The desired number of control points. This parameter n must be under or equal to the number of data points. 
Definition at line 1054 of file vpNurbs.cpp.
References globalCurveApprox(), and weights.
void vpNurbs::globalCurveApprox  (  unsigned int  n  ) 
Method which enables to compute a NURBS curve approximating a set of data points.
The data points are approximated thanks to a least square method.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
Definition at line 1072 of file vpNurbs.cpp.
References globalCurveApprox(), and weights.
void vpNurbs::globalCurveApprox  (  vpList< vpImagePoint > &  l_crossingPoints, 
unsigned int  n  
) 
Method which enables to compute a NURBS curve approximating a set of data points.
The data points are approximated thanks to a least square method.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
n  : The desired number of control points. The parameter n must be under or equal to the number of data points. 
Definition at line 1111 of file vpNurbs.cpp.
References vpList< type >::front(), globalCurveApprox(), vpList< type >::next(), vpList< type >::outside(), vpList< type >::value(), and weights.

static 
Method which enables to compute a NURBS curve passing through a set of data points.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
l_p  : Degree of the NURBS basis functions. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
l_weights  : the list of weights. 
Definition at line 695 of file vpNurbs.cpp.
References vpBSpline::computeBasisFuns(), vpBSpline::findSpan(), vpMatrix::pseudoInverse(), and vpImagePoint::set_ij().
Referenced by vpMeNurbs::initTracking().
Method which enables to compute a NURBS curve passing through a set of data points.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
Definition at line 774 of file vpNurbs.cpp.
References vpImagePoint::distance(), vpList< type >::front(), globalCurveInterp(), vpMeSite::ifloat, vpMeSite::jfloat, vpList< type >::next(), vpList< type >::outside(), vpList< type >::value(), and weights.
void vpNurbs::globalCurveInterp  (  const std::list< vpImagePoint > &  l_crossingPoints  ) 
Method which enables to compute a NURBS curve passing through a set of data points.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
Definition at line 804 of file vpNurbs.cpp.
References globalCurveInterp(), and weights.
void vpNurbs::globalCurveInterp  (  const std::list< vpMeSite > &  l_crossingPoints  ) 
Method which enables to compute a NURBS curve passing through a set of data points.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
Definition at line 821 of file vpNurbs.cpp.
References vpImagePoint::distance(), globalCurveInterp(), vpMeSite::ifloat, vpMeSite::jfloat, and weights.
void vpNurbs::globalCurveInterp  (  ) 
Method which enables to compute a NURBS curve passing through a set of data points.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
Definition at line 845 of file vpNurbs.cpp.
References weights.
Referenced by globalCurveInterp().
void vpNurbs::globalCurveInterp  (  vpList< vpImagePoint > &  l_crossingPoints  ) 
Method which enables to compute a NURBS curve passing through a set of data points.
The result of the method is composed by a knot vector, a set of control points and a set of associated weights.
l_crossingPoints  : The list of data points which have to be interpolated. 
Definition at line 1087 of file vpNurbs.cpp.
References vpList< type >::front(), globalCurveInterp(), vpList< type >::next(), vpList< type >::outside(), vpList< type >::value(), and weights.

static 
Insert knots in the knot vector.
Of course the knot vector changes. But The list of control points and the list of the associated weights change too.
l_x  : Several real numbers which are between the extrimities of the knot vector and which have to be inserted. 
l_r  : Number of knot in the array . 
l_p  : Degree of the NURBS basis functions. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
l_weights  : the list of weights. 
Definition at line 420 of file vpNurbs.cpp.
References vpBSpline::findSpan(), and vpImagePoint::set_i().
Referenced by refineKnotVectCurve().
void vpNurbs::refineKnotVectCurve  (  double *  x, 
unsigned int  r  
) 
Insert knots in the knot vector.
Of course the knot vector changes. But The list of control points and the list of the associated weights change too.
x  : Several real numbers which are between the extrimities of the knot vector and which have to be inserted. 
r  : Number of knot in the array . 
Definition at line 513 of file vpNurbs.cpp.
References refineKnotVectCurve(), and weights.

static 
Remove times the knot from the knot vector. The removed knot is the th vector in the knot vector.
Of course the knot vector changes. But The list of control points and the list of the associated weights change too.
l_u  : A real number which is between the extrimities of the knot vector and which has to be removed. 
l_r  : Index of in the knot vector. 
l_num  : Number of times has to be removed. 
l_TOL  : A parameter which has to be computed. 
l_s  : Multiplicity of . 
l_p  : Degree of the NURBS basis functions. 
l_knots  : The knot vector 
l_controlPoints  : the list of control points. 
l_weights  : the list of weights. 
where is the minimal weight on the original curve, is the maximum distance of any point on the original curve from the origin and is the desired bound on deviation.
Definition at line 541 of file vpNurbs.cpp.
References vpImagePoint::get_i(), vpImagePoint::get_j(), vpImagePoint::set_i(), vpImagePoint::set_j(), and vpMath::sqr().
Referenced by removeCurveKnot().
unsigned int vpNurbs::removeCurveKnot  (  double  u, 
unsigned int  r,  
unsigned int  num,  
double  TOL  
) 
Remove times the knot from the knot vector. The removed knot is the th vector in the knot vector.
Of course the knot vector changes. But The list of control points and the list of the associated weights change too.
u  : A real number which is between the extrimities of the knot vector and which has to be removed. 
r  : Index of in the knot vector. 
num  : Number of times has to be removed. 
TOL  : A parameter which has to be computed. 
where is the minimal weight on the original curve, is the maximum distance of any point on the original curve from the origin and is the desired bound on deviation.
Definition at line 678 of file vpNurbs.cpp.
References removeCurveKnot(), and weights.

inlineinherited 
Sets all the control points.
list  : A std::list containing the coordinates of the control points 
Definition at line 181 of file vpBSpline.h.

inlineinherited 
Sets all the control points.
list  : A vpList containing the coordinates of the control points 
Definition at line 274 of file vpBSpline.h.
References vpList< type >::front(), vpList< type >::nbElements(), vpList< type >::next(), and vpList< type >::value().

inlineinherited 
Sets all the crossing points (used in the interpolation method)
list  : A std::list containing the coordinates of the crossing points 
Definition at line 205 of file vpBSpline.h.

inlineinherited 
Sets all the crossing points (used in the interpolation method)
list  : A vpList containing the coordinates of the crossing points 
Definition at line 308 of file vpBSpline.h.
References vpList< type >::front(), vpList< type >::nbElements(), vpList< type >::next(), and vpList< type >::value().

inlineinherited 
Sets all the knots.
list  : A std::list containing the value of the knots. 
Definition at line 193 of file vpBSpline.h.

inlineinherited 
Sets all the knots.
list  : A vpList containing the value of the knots. 
Definition at line 291 of file vpBSpline.h.
References vpList< type >::front(), vpList< type >::nbElements(), vpList< type >::next(), and vpList< type >::value().

inlineinherited 
Sets the degree of the BSpline.
p  : the degree of the BSpline. 
Definition at line 173 of file vpBSpline.h.

inline 

inline 
Sets all the knots.
list  : A list containing the value of the knots. 
Definition at line 178 of file vpNurbs.h.
References vpList< type >::front(), vpList< type >::nbElements(), vpList< type >::next(), and vpList< type >::value().

protected 
Definition at line 92 of file vpNurbs.h.
Referenced by computeCurveDers(), computeCurveDersPoint(), computeCurvePoint(), curveKnotIns(), globalCurveApprox(), globalCurveInterp(), refineKnotVectCurve(), removeCurveKnot(), and vpNurbs().