3 #ifndef U3D_BSPL3_CURVE3D_
4 #define U3D_BSPL3_CURVE3D_
6 #include <mth/u3d_bspl3_primitives.hpp>
7 #include <mth/u3d_point.hpp>
100 else if (i >= m + bm - 1)
107 static int get_bp_num(U3dBspl3MatrixType type);
110 static void find_element(
double p,
int n,
int &nn,
double &pp);
122 delete x;
delete y;
delete z;
156 U3dPoint &dev,
double &smx,
double &smy,
double &smz)
const {
158 if (dev.
getX() > smx)
160 if (dev.
getY() > smy)
162 if (dev.
getZ() > smz)
void construct_segment(int id, int n, int bpnum, Bspl3dCurve &curve)
int getControlPointsNum() const
static int get_bp_num(U3dBspl3MatrixType type)
Definition: u3d_bspl3_curve3d.hpp:12
bool m_is_ready
Definition: u3d_bspl3_curve3d.hpp:139
bool getCurvature(double p, double &c)
void approximate(const U3dBspl3AbstractMatrix &bm, const U3dPointsAr &ps)
Bspl3dCurve()
Definition: u3d_bspl3_curve3d.hpp:118
bool get_line_distance(double pp, int nn, U3dPoint kP, U3dPoint bP, double p1, U3dPoint &dist) const
bool getLineSegments(double ds, std::vector< double > &segs) const
bool getLineDeviations(double p1, double p2, double p, U3dPoint &dev) const
U3dBspl3Curve3d(const U3dBspl3AbstractMatrix &bm)
bool getXYZp(double p, U3dPoint &point) const
double getZ() const
Definition: u3d_point.hpp:141
Definition: u3d_bspl3_primitives.hpp:11
Definition: geometry.H:16
void add(const U3dPoint &point, int id=-1)
U3dBspl3AbstractMatrix * m_bm
Definition: u3d_bspl3_curve3d.hpp:133
static void update_index(int &i, int m, int bm)
Definition: u3d_bspl3_curve3d.hpp:97
void devs_update(double p, int n, U3dPoint &kP, U3dPoint &bP, double p1, U3dPoint &dev, double &smx, double &smy, double &smz) const
Definition: u3d_bspl3_curve3d.hpp:155
double getY() const
Definition: u3d_point.hpp:135
bool construct_isect_line(double p1, double p2, U3dPoint &kP, U3dPoint &bP) const
Definition: u3d_point.hpp:16
std::vector< Bspl3dCurve > m_bspls
Definition: u3d_bspl3_curve3d.hpp:130
U3dSimpleBspl3Curve * x
Definition: u3d_bspl3_curve3d.hpp:126
static void find_element(double p, int n, int &nn, double &pp)
void clear()
Definition: u3d_bspl3_curve3d.hpp:121
bool isReady() const
Definition: u3d_bspl3_curve3d.hpp:75
Definition: u3d_bspl3_matrices.hpp:24
bool getPoint(double p, U3dPoint &point) const
bool getXYZpp(double p, U3dPoint &point) const
U3dBspl3MatrixType getBMType() const
U3dPointsAr m_ps
Definition: u3d_bspl3_curve3d.hpp:136
bool getMaxLineDeviation(double p1, double p2, double &md) const
Definition: u3d_bspl3_curve3d.hpp:115
double getX() const
Definition: u3d_point.hpp:129
bool getControlPoint(int ind, U3dPoint &point) const