20 #ifndef NURBS_CURVE_FMATVEC_H_
21 #define NURBS_CURVE_FMATVEC_H_
23 #include <mbsim/numerics/nurbs/nurbs_defs.h>
32 using namespace fmatvec;
67 return trans(P.row(i));
168 void globalInterp(
const std::vector<
fmatvec::Point<3> >& Q,
const std::vector<double>& uk,
int d,
bool updateLater =
false);
169 void globalInterp(
const std::vector<
fmatvec::Point<3> >& Q,
double uMin,
double uMax,
int d,
bool updateLater =
false);
170 void globalInterp(
const fmatvec::MatVx3& Q,
double uMin,
double uMax,
int d,
bool updateLater =
false);
174 void globalInterpH(
const MatVx4& Q,
const Vec& ub,
const Vec& Uc,
int d,
bool updateLater =
false);
179 void globalInterpClosed(
const fmatvec::MatVx3 & Q,
double uMin,
double uMax,
int d,
bool updateLater =
false);
184 void update(
const fmatvec::MatVx3& Q);
189 void globalInterpClosedH(
const MatVx4& Qw,
const Vec& ub,
const Vec& Uc,
int d,
bool updateLater =
false);
281 int findSpan(
double u)
const;
290 void resize(
int n,
int Deg);
292 void knotAveraging(
const std::vector<double>& uk,
int deg);
293 double chordLengthParam(
const MatVx3& Q,
Vec& ub);
294 void updateUVecs(
double uMin,
double uMax);
296 void knotAveragingClosed(
const std::vector<double>& uk,
int deg);
297 void updateUVecsClosed(
double uMin,
double uMax);
304 void knotAveraging(
const Vec& uk,
int deg,
Vec& U);
double knot(int i) const
< the i-th knot
Definition: nurbs_curve.h:73
const fmatvec::MatVx4 & ctrlPnts() const
< a reference to the vector of control points
Definition: nurbs_curve.h:61
fmatvec::HPoint< 3 > hpointAt(double u) const
< calls operator()
Definition: nurbs_curve.h:89
wrapper class for nurbs type HPoint
Definition: nurbs_defs.h:43
const fmatvec::Vec & knot() const
< a reference to the vector of knots
Definition: nurbs_curve.h:69
const fmatvec::Vec4 ctrlPnts(int i) const
< a reference to one of the control points
Definition: nurbs_curve.h:65
int degree() const
< a reference to the degree of the curve
Definition: nurbs_curve.h:57
void knotAveragingClosed(const Vec &uk, int deg, Vec &U)
generates a knot vector using the averaging technique for interpolation with closed curve...
Definition: nurbs_curve.cc:597
wrapper class for nurbs type Point
Definition: nurbs_defs.h:13
RowVector< Ref, AT > trans(const Vector< Ref, AT > &x)
class that copies the nurbs++-library using the fmatvec as a basis-math-library
Definition: nurbs_curve.h:41
void binomialCoef(Mat &Bin)
Setup a matrix containing binomial coefficients.
Definition: nurbs_curve.cc:764