3 #ifndef __u_bspl3_curve1d_hpp
4 #define __u_bspl3_curve1d_hpp
6 #include <mth/u_curve1d.hpp>
7 #include <mth/u3d_bspl3_matrices.hpp>
8 #include <mth/u3d_bspl3_primitives.hpp>
26 const std::vector<double> &ps);
38 const std::vector<double> &ps);
65 virtual void addNode(
double x,
int id = -1);
80 else if (i >= m + bm - 1)
87 static int get_bp_num(U3dBspl3MatrixType type);
90 static void find_element(
double p,
int n,
int &nn,
double &pp);
std::vector< double > m_ps
Definition: u_bspl3_curve1d.hpp:101
Definition: u_bspl3_curve1d.hpp:12
U3dBspl3MatrixType getBMType() const
static int get_bp_num(U3dBspl3MatrixType type)
static void update_index(int &i, int m, int bm)
Definition: u_bspl3_curve1d.hpp:77
double getSecondDerivative(double p) const
static void find_element(double p, int n, int &nn, double &pp)
std::vector< U3dSimpleBspl3Curve > m_bspls
Definition: u_bspl3_curve1d.hpp:95
Definition: u3d_bspl3_primitives.hpp:11
void approximate(const U3dBspl3AbstractMatrix &bm, const std::vector< double > &ps)
void construct_segment(int id, int n, int bpnum, U3dSimpleBspl3Curve &curve)
double operator()(double p) const
bool m_is_ready
Definition: u_bspl3_curve1d.hpp:104
Definition: u3d_bspl3_matrices.hpp:24
virtual void addNode(double x, int id=-1)
double getFirstDerivative(double p) const
bool ready() const
Definition: u_bspl3_curve1d.hpp:54
U3dBspl3AbstractMatrix * m_bm
Definition: u_bspl3_curve1d.hpp:98
virtual bool removeNode(int id)