![]() |
Visual Servoing Platform version 3.6.0
|
#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 degree) |
| 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) |
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) |
Public Attributes | |
| : std::vector<vpImagePoint> controlPoints | |
| std::vector< double > | knots |
| unsigned int | p |
| std::vector< vpImagePoint > | crossingPoints |
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 B-Spline curve.
The different parameters are :






The B-Spline basis functions 
![\[ N_{i,0}(u) = \left\{\begin{array}{cc}
1 & \mbox{if } u_i \leq u_{i+1} \\ 0 & else
\end{array}\right.\]](form_988.png)
![\[ N_{i,p}(u) =
\frac{u-u_i}{u_{i+p}-u_i}N_{i,p-1}(u)+\frac{u_{i+p+1}-u}{u_{i+p+1}-u_{i+1}}N_{i+1,p-1}(u)\]](form_12.png)
where 



It is possible to compute the coordinates of a point corresponding to the knots 
![$ u \in [u_0,u_m]$](form_17.png)
![\[ C(u) =
\frac{\sum_{i=0}^n (N_{i,p}(u)w_iP_i)}{\sum_{i=0}^n (N_{i,p}(u)w_i)}\]](form_990.png)
You can find much more information about the B-Splines and the implementation of all the methods in the Nurbs Book.
| vpNurbs::vpNurbs | ( | ) |
Basic constructor.
The degree 
Definition at line 49 of file vpNurbs.cpp.
References vpBSpline::p, and weights.
Referenced by vpNurbs().
| vpNurbs::vpNurbs | ( | const vpNurbs & | nurbs | ) |
Copy constructor.
Definition at line 51 of file vpNurbs.cpp.
References vpBSpline::vpBSpline(), vpNurbs(), and weights.
|
virtual |
Destructor.
Definition at line 53 of file vpNurbs.cpp.
|
staticinherited |
Compute the nonvanishing basis functions at 

N = 






| l_u | : A real number which is between the extremities of the knot vector |
| l_i | : the number of the knot interval in which ![]() |
| l_p | : Degree of the B-Spline basis functions. |
| l_knots | : The knot vector |


Definition at line 142 of file vpBSpline.cpp.
Referenced by computeBasisFuns(), computeCurvePoint(), computeCurvePoint(), vpNurbs::computeCurvePoint(), vpNurbs::computeCurvePoint(), vpNurbs::globalCurveApprox(), and vpNurbs::globalCurveInterp().
|
inherited |
Compute the nonvanishing basis functions at 
N = 






where i the number of the knot interval in which 
| u | : A real number which is between the extremities of the knot vector |


Definition at line 193 of file vpBSpline.cpp.
References computeBasisFuns(), findSpan(), knots, and p.
|
staticinherited |
Compute the kth derivatives of 

The formula used is the following :
![\[ C^{(k)}(u) = \sum_{i=0}^n (N_{i,p}^{(k)}(u)P_i) \]](form_551.png)
where 


| l_u | : A real number which is between the extremities of the knot vector |
| l_i | : the number of the knot interval in which ![]() |
| l_p | : Degree of the B-Spline 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 445 of file vpBSpline.cpp.
References computeDersBasisFuns(), vpImagePoint::set_i(), vpImagePoint::set_ij(), vpImagePoint::set_j(), and vpTRACE.
|
staticprotected |
This function is used in the computeCurveDersPoint method.
Compute the kth derivatives of 

The formula used is the following :
![\[ C^{(k)}(u) = \sum_{i=0}^n (N_{i,p}^{(k)}(u)Pw_i) \]](form_991.png)
where 



| l_u | : A real number which is between the extremities of the knot vector. |
| l_i | : the number of the knot interval in which ![]() |
| 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 104 of file vpNurbs.cpp.
References vpBSpline::computeDersBasisFuns().
Referenced by computeCurveDersPoint().
|
protected |
This function is used in the computeCurveDersPoint method.
Compute the kth derivatives of 

The formula used is the following :
![\[ C^{(k)}(u) = \sum_{i=0}^n (N_{i,p}^{(k)}(u)Pw_i) \]](form_991.png)
where 



| u | : A real number which is between the extremities of the knot vector |
| der | : The last derivative to be computed. |


Definition at line 132 of file vpNurbs.cpp.
References vpBSpline::computeDersBasisFuns(), vpBSpline::p, and weights.
|
static |
Compute the kth derivatives of 

To see how the derivatives are computed refers to the Nurbs book.
| l_u | : A real number which is between the extremities of the knot vector. |
| l_i | : the number of the knot interval in which ![]() |
| 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 155 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().
| vpImagePoint * vpNurbs::computeCurveDersPoint | ( | double | u, |
| unsigned int | der ) |
Compute the kth derivatives of 

To see how the derivatives are computed refers to the Nurbs book.
| u | : A real number which is between the extremities of the knot vector |
| der | : The last derivative to be computed. |


Definition at line 186 of file vpNurbs.cpp.
References computeCurveDersPoint(), vpBSpline::findSpan(), vpBSpline::knots, vpBSpline::p, and weights.
|
staticinherited |
Compute the coordinates of a point 

| l_u | : A real number which is between the extremities of the knot vector |
| l_i | : the number of the knot interval in which ![]() |
| l_p | : Degree of the B-Spline 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 375 of file vpBSpline.cpp.
References computeBasisFuns(), vpImagePoint::set_i(), and vpImagePoint::set_j().
|
static |
Compute the coordinates of a point 

| l_u | : A real number which is between the extremities of the knot vector. |
| l_i | : the number of the knot interval in which ![]() |
| 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 55 of file vpNurbs.cpp.
References vpBSpline::computeBasisFuns(), vpImagePoint::set_i(), and vpImagePoint::set_j().
Referenced by vpMeNurbs::display(), and vpMeNurbs::display().
| vpImagePoint vpNurbs::computeCurvePoint | ( | double | u | ) |
Compute the coordinates of a point 

| u | : A real number which is between the extremities of the knot vector |
return the coordinates of a point corresponding to the knot 
Definition at line 80 of file vpNurbs.cpp.
References vpBSpline::computeBasisFuns(), vpBSpline::p, vpImagePoint::set_i(), vpImagePoint::set_j(), and weights.
|
staticinherited |
Compute the nonzero basis functions and their derivatives until the 


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 
![\[ N_{i,p}^{(k)}(u) =p \left( \frac{N_{i,p-1}^{(k-1)}}{u_{i+p}-u_i} -
\frac{N_{i+1,p-1}^{(k-1)}}{u_{i+p+1}-u_{i+1}} \right) \]](form_544.png)
where 


| l_u | : A real number which is between the extremities of the knot vector |
| l_i | : the number of the knot interval in which ![]() |
| l_p | : Degree of the B-Spline 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 228 of file vpBSpline.cpp.
References vpTRACE.
Referenced by computeCurveDers(), computeCurveDers(), vpNurbs::computeCurveDers(), vpNurbs::computeCurveDers(), and computeDersBasisFuns().
|
inherited |
Compute the nonzero basis functions and their derivatives until the 


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 
![\[ N_{i,p}^{(k)}(u) =p \left( \frac{N_{i,p-1}^{(k-1)}}{u_{i+p}-u_i} -
\frac{N_{i+1,p-1}^{(k-1)}}{u_{i+p+1}-u_{i+1}} \right) \]](form_544.png)
where 


| u | : A real number which is between the extremities 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 358 of file vpBSpline.cpp.
References computeDersBasisFuns(), findSpan(), knots, and p.
|
static |
Insert 



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 extremities of the knot vector and which has to be inserted. |
| l_k | : The number of the knot interval in which ![]() |
| l_s | : Multiplicity of ![]() |
| l_r | : Number of times ![]() |
| 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 193 of file vpNurbs.cpp.
References vpImagePoint::set_ij().
Referenced by curveKnotIns().
| void vpNurbs::curveKnotIns | ( | double | u, |
| unsigned int | s = 0, | ||
| unsigned int | r = 1 ) |
Insert 



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 extremities of the knot vector and which has to be inserted. |
| s | : Multiplicity of ![]() |
| r | : Number of times ![]() |
Definition at line 245 of file vpNurbs.cpp.
References curveKnotIns(), vpBSpline::findSpan(), vpBSpline::knots, vpBSpline::p, and weights.
|
staticinherited |
Find the knot interval in which the parameter 

Example : The knot vector is the following 




| l_u | : The knot whose knot interval is seeked. |
| l_p | : Degree of the B-Spline basis functions. |
| l_knots | : The knot vector |

Definition at line 79 of file vpBSpline.cpp.
References vpMath::maximum(), and vpMath::round().
Referenced by computeBasisFuns(), vpNurbs::computeCurveDersPoint(), computeDersBasisFuns(), vpNurbs::curveKnotIns(), findSpan(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveInterp(), and vpNurbs::refineKnotVectCurve().
|
inherited |
Find the knot interval in which the parameter 

Example : The knot vector is the following 




| u | : The knot whose knot interval is seeked. |

Definition at line 123 of file vpBSpline.cpp.
References findSpan(), knots, and p.
|
inlineinherited |
Gets all the control points.
| list | : A std::list containing the coordinates of the control points. |
Definition at line 135 of file vpBSpline.h.
|
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 162 of file vpBSpline.h.
References crossingPoints.
|
inlineinherited |
Gets all the knots.
| list | : A std::list containing the value of the knots. |
Definition at line 148 of file vpBSpline.h.
References knots.
|
inlineinherited |
Gets the degree of the B-Spline.
Definition at line 127 of file vpBSpline.h.
References p.
|
inline |
Gets all the weights relative to the control points.
| list | [out] : A std::list containing weights relative to the control points. |
Definition at line 182 of file vpNurbs.h.
References 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 727 of file vpNurbs.cpp.
References globalCurveApprox(), vpBSpline::knots, vpBSpline::p, 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 736 of file vpNurbs.cpp.
References globalCurveApprox(), vpBSpline::knots, vpBSpline::p, and weights.
|
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 594 of file vpNurbs.cpp.
References vpMatrix::AtA(), vpBSpline::computeBasisFuns(), vpBSpline::findSpan(), vpMatrix::pseudoInverse(), and vpImagePoint::set_ij().
Referenced by globalCurveApprox(), globalCurveApprox(), globalCurveApprox(), and globalCurveApprox().
| 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 746 of file vpNurbs.cpp.
References vpBSpline::crossingPoints, globalCurveApprox(), vpBSpline::knots, vpBSpline::p, and weights.
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 713 of file vpNurbs.cpp.
References vpList< type >::front(), globalCurveApprox(), vpMeSite::ifloat, vpMeSite::jfloat, vpBSpline::knots, vpList< type >::next(), vpList< type >::outside(), vpBSpline::p, vpList< type >::value(), 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 592 of file vpNurbs.cpp.
References vpBSpline::crossingPoints, globalCurveInterp(), vpBSpline::knots, vpBSpline::p, and weights.
Referenced by globalCurveInterp(), globalCurveInterp(), globalCurveInterp(), and globalCurveInterp().
| 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 563 of file vpNurbs.cpp.
References globalCurveInterp(), vpBSpline::knots, vpBSpline::p, 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 573 of file vpNurbs.cpp.
References vpImagePoint::distance(), globalCurveInterp(), vpMeSite::ifloat, vpMeSite::jfloat, vpBSpline::knots, vpBSpline::p, 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. This value need to be > 0. |
| l_knots | : The knot vector. |
| l_controlPoints | : The list of control points. |
| l_weights | : the list of weights. |
Definition at line 465 of file vpNurbs.cpp.
References vpException::badValue, vpBSpline::computeBasisFuns(), vpBSpline::findSpan(), vpMatrix::pseudoInverse(), and vpImagePoint::set_ij().
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 542 of file vpNurbs.cpp.
References vpImagePoint::distance(), vpList< type >::front(), globalCurveInterp(), vpMeSite::ifloat, vpMeSite::jfloat, vpBSpline::knots, vpList< type >::next(), vpList< type >::outside(), vpBSpline::p, vpImagePoint::set_ij(), vpList< type >::value(), and weights.
|
static |
Insert 
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 extremities 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 252 of file vpNurbs.cpp.
References vpBSpline::findSpan().
Referenced by refineKnotVectCurve().
| void vpNurbs::refineKnotVectCurve | ( | double * | x, |
| unsigned int | r ) |
Insert 
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 extremities of the knot vector and which have to be inserted. |
| r | : Number of knot in the array ![]() |
Definition at line 332 of file vpNurbs.cpp.
References vpBSpline::knots, vpBSpline::p, refineKnotVectCurve(), and weights.
| unsigned int vpNurbs::removeCurveKnot | ( | double | l_u, |
| unsigned int | l_r, | ||
| unsigned int | l_num, | ||
| double | l_TOL ) |
Remove 



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 extremities of the knot vector and which has to be removed. |
| l_r | : Index of ![]() |
| l_num | : Number of times ![]() |
| l_TOL | : A parameter which has to be computed. |

where 


Definition at line 460 of file vpNurbs.cpp.
References vpBSpline::knots, vpBSpline::p, removeCurveKnot(), and weights.
|
static |
Remove 



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 extremities of the knot vector and which has to be removed. |
| l_r | : Index of ![]() |
| l_num | : Number of times ![]() |
| 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 


Definition at line 337 of file vpNurbs.cpp.
References vpImagePoint::get_i(), vpImagePoint::get_j(), vpImagePoint::set_i(), vpImagePoint::set_j(), and vpMath::sqr().
Referenced by removeCurveKnot().
|
inlineinherited |
Sets all the control points.
| list | : A std::list containing the coordinates of the control points |
Definition at line 182 of file vpBSpline.h.
|
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 209 of file vpBSpline.h.
References crossingPoints.
|
inlineinherited |
Sets all the knots.
| list | : A std::list containing the value of the knots. |
Definition at line 195 of file vpBSpline.h.
References knots.
|
inlineinherited |
Sets the degree of the B-Spline.
| degree | : the degree of the B-Spline. |
Definition at line 175 of file vpBSpline.h.
|
inline |
Sets all the knots.
| list | : A std::list containing the value of the knots. |
Definition at line 194 of file vpNurbs.h.
References weights.
|
inherited |
Definition at line 105 of file vpBSpline.h.
|
inherited |
Vector wich contains the points used during the interpolation method.
Definition at line 115 of file vpBSpline.h.
Referenced by get_crossingPoints(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveInterp(), set_crossingPoints(), vpBSpline(), and vpBSpline().
|
inherited |
Vector which contain the knots 
Definition at line 111 of file vpBSpline.h.
Referenced by computeBasisFuns(), vpNurbs::computeCurveDersPoint(), computeDersBasisFuns(), vpNurbs::curveKnotIns(), findSpan(), get_knots(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveInterp(), vpNurbs::globalCurveInterp(), vpNurbs::globalCurveInterp(), vpNurbs::globalCurveInterp(), vpNurbs::refineKnotVectCurve(), vpNurbs::removeCurveKnot(), set_knots(), vpBSpline(), and vpBSpline().
|
inherited |
Degree of the B-Spline basis functions.
Definition at line 113 of file vpBSpline.h.
Referenced by computeBasisFuns(), computeCurveDers(), vpNurbs::computeCurveDers(), vpNurbs::computeCurveDersPoint(), computeCurvePoint(), vpNurbs::computeCurvePoint(), computeDersBasisFuns(), vpNurbs::curveKnotIns(), findSpan(), get_p(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveApprox(), vpNurbs::globalCurveInterp(), vpNurbs::globalCurveInterp(), vpNurbs::globalCurveInterp(), vpNurbs::globalCurveInterp(), vpNurbs::refineKnotVectCurve(), vpNurbs::removeCurveKnot(), vpBSpline(), vpBSpline(), and vpNurbs::vpNurbs().
|
protected |
Vector which contains the weights associated to each control Points.
Definition at line 96 of file vpNurbs.h.
Referenced by computeCurveDers(), computeCurveDersPoint(), computeCurvePoint(), curveKnotIns(), get_weights(), globalCurveApprox(), globalCurveApprox(), globalCurveApprox(), globalCurveApprox(), globalCurveInterp(), globalCurveInterp(), globalCurveInterp(), globalCurveInterp(), refineKnotVectCurve(), removeCurveKnot(), set_weights(), vpNurbs(), and vpNurbs().