UNIVERS
15.3
UNIVERS base processing software API
|
#include <base_splines.hpp>
Public Member Functions | |
Spl_U3dSimpleBspl3Curve (const Spl_U3dBspl3AbstractMatrix *bm, const double(&cp)[4]) | |
virtual | ~Spl_U3dSimpleBspl3Curve () |
double | get (double p) const |
double | getSp (double p) const |
double | getSpp (double p) const |
void | getCoeffs (double(&c)[4]) const |
double | getMaxLineDeviation (double k, double b, double p1, double p2) |
double | getLineDeviation (double k, double b, double p) |
Protected Attributes | |
const Spl_U3dBspl3AbstractMatrix * | m_bm |
double | m_rv [4] |
Simple base spline curve object
Spl_U3dSimpleBspl3Curve::Spl_U3dSimpleBspl3Curve | ( | const Spl_U3dBspl3AbstractMatrix * | bm, |
const double(&) | cp[4] | ||
) |
Default constructor with base spline matrix pointer and control points provided. Base matrix is not being copied while construction, just pointer.
|
inlinevirtual |
Destruct object
double Spl_U3dSimpleBspl3Curve::get | ( | double | p | ) | const |
Return spline value for provided parameter S=S(p), p=0..1
|
inline |
Return spline curve coefficients (c[0]+c[1]t+c[2]t^2+c[3]t^3)
double Spl_U3dSimpleBspl3Curve::getLineDeviation | ( | double | k, |
double | b, | ||
double | p | ||
) |
Get line deviation between l(p)=kp+b and spline
double Spl_U3dSimpleBspl3Curve::getMaxLineDeviation | ( | double | k, |
double | b, | ||
double | p1, | ||
double | p2 | ||
) |
Get maximal spline deviation from line l(p)=kp+b in the range p1..p2
double Spl_U3dSimpleBspl3Curve::getSp | ( | double | p | ) | const |
Return partial derivative of spline by p
double Spl_U3dSimpleBspl3Curve::getSpp | ( | double | p | ) | const |
Return second order partial derivative by p and p
|
protected |
Base spline matrix pointer.
|
protected |
Result simple vector (m_rv = m_bm*(control_points))