UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | List of all members
ParSpline Class Reference

#include <parspline.hpp>

Inheritance diagram for ParSpline:
BaseSpline2D

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)
 

Detailed Description

Class "Parametric spline" for comlicated curves (with break-points) description. Class is based on functiones, described in parspline_service.hpp

Constructor & Destructor Documentation

ParSpline::ParSpline ( double *  xx,
double *  zz,
double *  ddx,
double *  ddz,
double *  ccurv,
bool *  flag,
int  nn 
)

Constructor for object initialization with previously interpolated points

Member Function Documentation

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

bool ParSpline::GetPSpXs ( double  z,
double *&  xs,
int &  nx,
double_ar xx1,
double_ar zz1 
)

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

bool ParSpline::GetPSpZs ( double  x,
double *&  zs,
int &  nz,
double_ar xx1,
double_ar zz1 
)

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

virtual int ParSpline::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 
)
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


The documentation for this class was generated from the following file: