![]() |
UNIVERS
15.3
UNIVERS base processing software API
|
#include <parspline.hpp>
Public Member Functions | |
| ParSpline (double *xx, double *zz, double *ddx, double *ddz, double *ccurv, bool *flag, int nn) | |
| void | Interpolate (double *xx, double *zz, int nn, bool *flag, double rc, double sp, double *xx1=NULL, double *zz1=NULL, int nn1=0, bool noInter=false) |
| void | GetXZ (double *xx, double *zz) |
| void | GetSPXZ (double_ar *sx, double_ar *sz) |
| bool | GetKnot (int kn, double &x, double &z) |
| void | GetDXDZ (double *ddx, double *ddz) |
| void | GetCurv (double *ccurv) |
| void | GetSPFlags (bool *flag) |
| int | GetN () |
| bool | GetPFlag (int index) |
| bool | GetPSpX (double z, double &x) |
| bool | GetPSpXs (double z, double *&xs, int &nx) |
| bool | GetPSpXs (double z, double *&xs, int &nx, double_ar *xx1, double_ar *zz1) |
| bool | GetPSpZ (double x, double &z) |
| bool | GetPSpZs (double x, double *&zs, int &nz) |
| bool | GetPSpZs (double x, double *&zs, int &nz, double_ar *xx1, double_ar *zz1) |
| bool | PSpInt (double x1, double z1, double x2, double z2, double &ix, double &iz, int *nn=NULL) |
| bool | PSpInt1 (double x1, double z1, double x2, double z2, double &ix, double &iz, int *nn=NULL) |
| bool | PSpInts (double x1, double z1, double x2, double z2, double *ixs, double *izs, int &in, int *inns=NULL) |
| bool | PSpI (double x1, double z1, double x2, double z2, int nn, double &ix, double &iz, double &angle, double &curvity) |
| bool | PSpI1 (double x1, double z1, double x2, double z2, int nn, double &ix, double &iz, double &angle) |
| bool | PSpIs (double x1, double z1, double x2, double z2, int nn, double *ixs, double *izs, int &in, double &angle) |
| bool | PSpCutMiddle (double x1, double z1, double x2, double z2, double &ix, double &iz) |
| bool | isPSpClean () |
| void | SetXZMinMax (double xmn, double xmx, double zmn, double zmx) |
| void | GetXZMinMax (double &xmn, double &xmx, double &zmn, double &zmx) |
| bool | CheckSplineStatus () |
Protected Member Functions | |
| virtual int | IntervalSmoothParSpline (int N1, double *x1, double *z1, bool *flag, int N2, double *xf, double *zf, double rc, double sp, double_ar *xx1, double_ar *zz1, double_ar *dx, double_ar *dz, double_ar *curvity, int_ar *NumNodeBreak) |
Class "Parametric spline" for comlicated curves (with break-points) description. Class is based on functiones, described in parspline_service.hpp
| ParSpline::ParSpline | ( | double * | xx, |
| double * | zz, | ||
| double * | ddx, | ||
| double * | ddz, | ||
| double * | ccurv, | ||
| bool * | flag, | ||
| int | nn | ||
| ) |
Constructor for object initialization with previously interpolated points
| void ParSpline::GetCurv | ( | double * | ccurv | ) |
Returns curv values
| void ParSpline::GetDXDZ | ( | double * | ddx, |
| double * | ddz | ||
| ) |
Returns dx and dz values
| bool ParSpline::GetKnot | ( | int | kn, |
| double & | x, | ||
| double & | z | ||
| ) |
Returns coordinates of spline knot #kn
| int ParSpline::GetN | ( | ) |
Nodes number
| bool ParSpline::GetPSpX | ( | double | z, |
| double & | x | ||
| ) |
Intersection of spline and horizontal line, returns the nearest point
| bool ParSpline::GetPSpXs | ( | double | z, |
| double *& | xs, | ||
| int & | nx | ||
| ) |
Intersection of spline and horizontal line, returns points array
new version
| bool ParSpline::GetPSpZ | ( | double | x, |
| double & | z | ||
| ) |
Intersection of spline and vertical line, returns the nearest point
| bool ParSpline::GetPSpZs | ( | double | x, |
| double *& | zs, | ||
| int & | nz | ||
| ) |
Intersection of spline and vertical line, returns points array
new version
| void ParSpline::GetSPFlags | ( | bool * | flag | ) |
Returns special points information
| void ParSpline::GetXZ | ( | double * | xx, |
| double * | zz | ||
| ) |
Returns spline interpolated nodes
| void ParSpline::Interpolate | ( | double * | xx, |
| double * | zz, | ||
| int | nn, | ||
| bool * | flag, | ||
| double | rc, | ||
| double | sp, | ||
| double * | xx1 = NULL, |
||
| double * | zz1 = NULL, |
||
| int | nn1 = 0, |
||
| bool | noInter = false |
||
| ) |
Provides spline approximation for provided knots
|
protectedvirtual |
Main interpolation method. Might be reimplemented.
Reimplemented in BaseSpline2D.
| bool ParSpline::isPSpClean | ( | ) |
Determines, is there special points on the well
| bool ParSpline::PSpCutMiddle | ( | double | x1, |
| double | z1, | ||
| double | x2, | ||
| double | z2, | ||
| double & | ix, | ||
| double & | iz | ||
| ) |
Returns point on spline, in the middle between given points
| bool ParSpline::PSpI | ( | double | x1, |
| double | z1, | ||
| double | x2, | ||
| double | z2, | ||
| int | nn, | ||
| double & | ix, | ||
| double & | iz, | ||
| double & | angle, | ||
| double & | curvity | ||
| ) |
Intersection of the spline with arbitrary segment (the spline sector is set), returns the nearest point
| bool ParSpline::PSpI1 | ( | double | x1, |
| double | z1, | ||
| double | x2, | ||
| double | z2, | ||
| int | nn, | ||
| double & | ix, | ||
| double & | iz, | ||
| double & | angle | ||
| ) |
Intersection of the spline with arbitrary straight line (the spline sector is set), returns the nearest point
| bool ParSpline::PSpInt | ( | double | x1, |
| double | z1, | ||
| double | x2, | ||
| double | z2, | ||
| double & | ix, | ||
| double & | iz, | ||
| int * | nn = NULL |
||
| ) |
Intersection of the spline with arbitrary segment
| bool ParSpline::PSpInt1 | ( | double | x1, |
| double | z1, | ||
| double | x2, | ||
| double | z2, | ||
| double & | ix, | ||
| double & | iz, | ||
| int * | nn = NULL |
||
| ) |
Intersection of the spline with arbitrary segment, returns the nearest point
| bool ParSpline::PSpInts | ( | double | x1, |
| double | z1, | ||
| double | x2, | ||
| double | z2, | ||
| double * | ixs, | ||
| double * | izs, | ||
| int & | in, | ||
| int * | inns = NULL |
||
| ) |
Intersection of the spline with arbitrary segment, returns points array
| bool ParSpline::PSpIs | ( | double | x1, |
| double | z1, | ||
| double | x2, | ||
| double | z2, | ||
| int | nn, | ||
| double * | ixs, | ||
| double * | izs, | ||
| int & | in, | ||
| double & | angle | ||
| ) |
Intersection of the spline with arbitrary straight line (the spline sector is set), returns points array
| void ParSpline::SetXZMinMax | ( | double | xmn, |
| double | xmx, | ||
| double | zmn, | ||
| double | zmx | ||
| ) |
Manual determinition of the spline limiting rectangle
1.8.5