7 #include "parspline_service.hpp"
10 const int S_DEBUG_MODE = 1;
22 ParSpline(
double *xx,
double *zz,
double *ddx,
double *ddz,
double *ccurv,
bool *flag,
int nn);
27 void Interpolate(
double *xx,
double *zz,
int nn,
bool *flag,
double rc,
double sp,
28 double *xx1 = NULL,
double *zz1 = NULL,
int nn1 = 0,
bool noInter =
false);
31 void GetXZ(
double *xx,
double *zz);
36 bool GetKnot(
int kn,
double &x,
double &z);
39 void GetDXDZ(
double *ddx,
double *ddz);
50 bool GetPFlag(
int index);
53 bool GetPSpX(
double z,
double &x);
56 bool GetPSpXs(
double z,
double *&xs,
int &nx);
62 bool GetPSpZ(
double x,
double &z);
65 bool GetPSpZs(
double x,
double *&zs,
int &nz);
71 bool PSpInt(
double x1,
double z1,
double x2,
double z2,
double &ix,
72 double &iz,
int *nn=NULL);
75 bool PSpInt1(
double x1,
double z1,
double x2,
double z2,
double &ix,
76 double &iz,
int *nn=NULL);
79 bool PSpInts(
double x1,
double z1,
double x2,
double z2,
double *ixs,
80 double *izs,
int &in,
int *inns=NULL);
83 bool PSpI(
double x1,
double z1,
double x2,
double z2,
int nn,
84 double &ix,
double &iz,
double &angle,
double &curvity);
87 bool PSpI1(
double x1,
double z1,
double x2,
double z2,
int nn,
88 double &ix,
double &iz,
double &angle);
91 bool PSpIs(
double x1,
double z1,
double x2,
double z2,
int nn,
92 double *ixs,
double *izs,
int &in,
double &angle);
95 bool PSpCutMiddle(
double x1,
double z1,
double x2,
double z2,
96 double &ix,
double &iz);
101 void SetXZMinMax(
double xmn,
double xmx,
double zmn,
double zmx);
103 void GetXZMinMax(
double &xmn,
double &xmx,
double &zmn,
double &zmx);
105 bool CheckSplineStatus();
117 bool GetActiveKnotNs(
double x1,
double z1,
int &n1,
int &n2);
121 bool PrepareKnots(
double x1,
double z1,
double x2,
double z2,
double_ar *xx,
double_ar *zz,
bool fp=
true);
123 bool CheckPPos(
double x1,
double z1,
double x2,
double z2);
125 bool CheckPPosX(
double x1,
double x2);
127 bool CheckPPosZ(
double z1,
double z2);
142 double xMin, xMax, zMin, zMax;
void SetXZMinMax(double xmn, double xmx, double zmn, double zmx)
void GetDXDZ(double *ddx, double *ddz)
void GetXZ(double *xx, double *zz)
bool PSpInts(double x1, double z1, double x2, double z2, double *ixs, double *izs, int &in, int *inns=NULL)
bool GetPSpX(double z, double &x)
bool PSpI(double x1, double z1, double x2, double z2, int nn, double &ix, double &iz, double &angle, double &curvity)
void GetSPFlags(bool *flag)
bool GetKnot(int kn, double &x, double &z)
bool GetPSpZs(double x, double *&zs, int &nz)
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)
bool GetPSpZ(double x, double &z)
void GetCurv(double *ccurv)
Definition: objectar.hpp:57
Definition: parspline_service.hpp:66
Definition: parspline.hpp:14
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)
bool PSpIs(double x1, double z1, double x2, double z2, int nn, double *ixs, double *izs, int &in, double &angle)
Definition: objectar.hpp:55
bool PSpCutMiddle(double x1, double z1, double x2, double z2, double &ix, double &iz)
bool GetPSpXs(double z, double *&xs, int &nx)
bool PSpInt(double x1, double z1, double x2, double z2, double &ix, double &iz, int *nn=NULL)
bool PSpI1(double x1, double z1, double x2, double z2, int nn, double &ix, double &iz, double &angle)
bool PSpInt1(double x1, double z1, double x2, double z2, double &ix, double &iz, int *nn=NULL)