UNIVERS
15.3
UNIVERS base processing software API
|
#include <u_smspl3_curve1d.hpp>
Classes | |
struct | Coeffs |
struct | Node |
Public Types | |
typedef std::vector< Node > | Nodes |
Public Member Functions | |
USmspl3Curve1d (double alpha=0) | |
USmspl3Curve1d (const Nodes &nodes, double alpha=0.) | |
virtual | ~USmspl3Curve1d () |
virtual void | approximate (const Nodes &nodes, double alpha=0.) |
virtual double | operator() (double p) const |
virtual bool | ready () const |
virtual void | addNode (const Node &node, int id) |
virtual bool | removeNode (size_t id) |
Protected Types | |
typedef std::vector< Coeffs > | CoeffsAr |
Protected Member Functions | |
double | Am (size_t i, size_t j, const Nodes &nodes) const |
double | Hm (size_t i, size_t j, const Nodes &nodes) const |
double | Km (size_t i, size_t j, const Nodes &nodes) const |
double | bv (size_t i, const Nodes &nodes) const |
bool | calc_coeffs (const Nodes &nodes, double alpha, CoeffsAr &coeffs) |
double | get_s (double p) const |
Protected Attributes | |
double | m_alpha |
CoeffsAr | m_coeffs |
U2dBox | m_bound |
bool | m_ready |
1D smooth spline curve with weights for provided nodes. Number of nodes should be > 3
|
protected |
Smoothing parameter.
USmspl3Curve1d::USmspl3Curve1d | ( | double | alpha = 0 | ) |
Empty curve with default smoothing parameter.
USmspl3Curve1d::USmspl3Curve1d | ( | const Nodes & | nodes, |
double | alpha = 0. |
||
) |
Construct curve width provided nodes and smoothing parameter.
|
virtual |
Destructor.
|
inlinevirtual |
Add new point to the curve at index = id. If id < 0 or out of range then add new last point.
|
virtual |
General approximation method.
|
protected |
Calculate spline coefficients
|
inlineprotected |
Calculates spline on corresponded segment
|
virtual |
Get curve value for provided argument.
|
inlinevirtual |
True if spline constructed and object is ready to approximate.
|
inlinevirtual |
Remove node with provided id. Return false on error.
|
protected |
Spline coefficients
|
protected |
Is object ready
|
protected |
Curve boundaries (z-coordinate is only form boundaries points)