31 void GenerateDegree();
41 int ComputeBasisFunctions(
double t);
44 int ComputeBasisFunctionsRecursively(
double t, std::deque<double> &knot,
46 double Nij_t(
int i,
int j,
double t, std::deque<double> &knot);
49 double ComputeBsplines(
double t);
52 void SetDegree(
long int degree);
55 void SetControlPoints(std::vector<double> &control_points);
58 void SetKnotVector(std::deque<double> &knot_vector);
61 long int GetDegree()
const;
64 std::vector<double> GetControlPoints()
const;
67 std::deque<double> GetKnotVector()
const;
69 void PrintKnotVector()
const;
71 void PrintControlPoints()
const;
73 void PrintDegree()
const;
97 BSplinesFoot(
double FT = 1.0,
double IP = 0.0,
double FP = 0.0,
98 std::vector<double> ToMP = std::vector<double>(),
99 std::vector<double> MP = std::vector<double>(),
double IS = 0.0,
100 double IA = 0.0,
double FS = 0.0,
double FA = 0.0);
113 void SetParameters(
double FT,
double IP,
double FP, std::vector<double> ToMP,
114 std::vector<double> MP,
double IS = 0.0,
double IA = 0.0,
115 double FS = 0.0,
double FA = 0.0);
116 void SetParametersWithoutMPAndToMP(
double FT,
double IP,
double FP,
double IS,
117 double IA,
double FS,
double FA);
120 int Compute(
double t,
double &
x,
double &dx,
double &ddx);
126 void ComputeControlPointFrom2DataPoint();
127 void ComputeControlPointFrom3DataPoint();
128 void ComputeControlPointFrom4DataPoint();
130 void GetParameters(
double &FT,
double &IP,
double &FP,
131 std::vector<double> &ToMP, std::vector<double> &MP);
133 std::vector<double>
MP() {
return m_MP; }
135 std::vector<double>
ToMP() {
return m_ToMP; }
137 double FT() {
return m_FT; }
139 void FT(
double ft) { m_FT = ft; }
141 double IP() {
return m_IP; }
143 double FP() {
return m_FP; }
145 void SetParametersWithInitFinalPose(
double FT,
double IP,
double FP,
146 std::vector<double> &ToMP,
147 std::vector<double> &MP);
159 std::vector<double> m_MP;
std::vector< std::vector< double > > m_basis_functions
Definition: Bsplines.hh:82
double y
Definition: Bsplines.hh:15
double x
Definition: Bsplines.hh:14
std::vector< double > m_control_points
Definition: Bsplines.hh:78
Definition: Bsplines.hh:21
std::vector< double > m_basis_functions_sec_derivative
Definition: Bsplines.hh:84
std::vector< double > m_basis_functions_derivative
Definition: Bsplines.hh:83
Definition: Bsplines.hh:13
std::vector< double > m_derivative_control_points
Definition: Bsplines.hh:79
std::vector< double > m_sec_derivative_control_points
Definition: Bsplines.hh:80
Simulate a rigid body
Definition: patterngeneratorinterface.hh:41
long int m_degree
Definition: Bsplines.hh:76
std::deque< double > m_knot
Definition: Bsplines.hh:86