Splines Namespace ReferenceΒΆ

Splines: Splines Namespace Reference
Splines
Splines Namespace Reference

Classes

class  Akima2Dspline
 
class  AkimaSpline
 
class  BesselSpline
 
class  BiCubicSpline
 
class  BiCubicSplineBase
 
class  BilinearSpline
 bilinear spline base class More...
 
class  BiQuinticSpline
 cubic spline base class More...
 
class  BiQuinticSplineBase
 Bi-quintic spline base class. More...
 
class  ConstantSpline
 Picewise constants spline class. More...
 
class  CubicSpline
 
class  CubicSplineBase
 
class  HermiteSpline
 Hermite Spline Management Class. More...
 
class  LinearSpline
 Linear spline class. More...
 
class  PchipSpline
 Pchip (Piecewise Cubic Hermite Interpolating Polynomial) spline class. More...
 
class  QuinticSpline
 Quintic spline class. More...
 
class  QuinticSplineBase
 
class  Spline
 
class  Spline1D
 Spline Management Class. More...
 
class  Spline2D
 
class  SplineSet
 Splines Management Class. More...
 
class  SplineSurf
 
class  SplineVec
 

Typedefs

typedef double real_type
 Floating point type for splines.
 
typedef int integer
 Signed integer type for splines.
 
using SplineType1D
 Associate a number for each type of splines implemented.
 
using SplineType2D
 Associate a number for each type of splines implemented.
 

Functions

void Pchip_build (real_type const X[], real_type const Y[], real_type Yp[], integer npts)
 
void uniform (integer, integer npts, real_type const [], integer, real_type t[])
 
void chordal (integer dim, integer npts, real_type const pnts[], integer ld_pnts, real_type t[])
 
void centripetal (integer dim, integer npts, real_type const pnts[], integer ld_pnts, real_type alpha, real_type t[])
 
integer check_cubic_spline_monotonicity (real_type const X[], real_type const Y[], real_type const Yp[], integer npts)
 Check if cubic spline with this data is monotone, return -1 no, 0 yes, 1 strictly monotone.
 
real_type curvature (real_type s, Spline const &X, Spline const &Y)
 
real_type curvature_D (real_type s, Spline const &X, Spline const &Y)
 
real_type curvature_DD (real_type s, Spline const &X, Spline const &Y)
 
void universal (integer dim, integer npts, real_type const pnts[], integer ld_pnts, real_type t[])
 
void FoleyNielsen (integer dim, integer npts, real_type const pnts[], integer ld_pnts, real_type t[])
 
void FangHung (integer dim, integer npts, real_type const pnts[], integer ld_pnts, real_type t[])
 

Detailed Description

Namespace of Splines library

Typedef Documentation

◆ SplineType1D

Initial value:
enum class SplineType1D : integer {
CONSTANT = 0,
LINEAR = 1,
CUBIC = 2,
AKIMA = 3,
BESSEL = 4,
PCHIP = 5,
QUINTIC = 6,
HERMITE = 7,
SPLINE_SET = 8,
SPLINE_VEC = 9
}
int integer
Signed integer type for splines.
Definition Splines.hh:58
enum class SplineType1D :integer { CONSTANT=0, LINEAR=1, CUBIC=2, AKIMA=3, BESSEL=4, PCHIP=5, QUINTIC=6, HERMITE=7, SPLINE_SET=8, SPLINE_VEC=9 } SplineType1D
Associate a number for each type of splines implemented.
Definition Splines.hh:71

Associate a number for each type of splines implemented.

◆ SplineType2D

Initial value:
enum class SplineType2D : integer {
BILINEAR = 0,
BICUBIC = 1,
BIQUINTIC = 2,
AKIMA2D = 3
}
enum class SplineType2D :integer { BILINEAR=0, BICUBIC=1, BIQUINTIC=2, AKIMA2D=3 } SplineType2D
Associate a number for each type of splines implemented.
Definition Splines.hh:87

Associate a number for each type of splines implemented.

Function Documentation

◆ centripetal()

void Splines::centripetal ( integer dim,
integer npts,
real_type const pnts[],
integer ld_pnts,
real_type alpha,
real_type t[] )

Compute nodes for the spline using centripetal distribution

Parameters
[in]dimdimension of the points
[in]nptsnumber of points
[in]pntsmatrix whose columns are the points
[in]ld_pntsleading dimension of the matrix (fortran storage)
[in]alphapower factor
[out]tvector of the computed nodes

◆ chordal()

void Splines::chordal ( integer dim,
integer npts,
real_type const pnts[],
integer ld_pnts,
real_type t[] )

Compute nodes for the spline using chordal distribution

Parameters
[in]dimdimension of the points
[in]nptsnumber of points
[in]pntsmatrix whose columns are the points
[in]ld_pntsleading dimension of the matrix (fortran storage)
[out]tvector of the computed nodes

◆ curvature()

real_type Splines::curvature ( real_type s,
Spline const & X,
Spline const & Y )

compute curvature of a planar curve

◆ curvature_D()

real_type Splines::curvature_D ( real_type s,
Spline const & X,
Spline const & Y )

compute curvature derivative of a planar curve

◆ curvature_DD()

real_type Splines::curvature_DD ( real_type s,
Spline const & X,
Spline const & Y )

compute curvature second derivative of a planar curve

◆ FangHung()

void Splines::FangHung ( integer dim,
integer npts,
real_type const pnts[],
integer ld_pnts,
real_type t[] )

Compute nodes for the spline using FangHung distribution

Parameters
[in]dimdimension of the points
[in]nptsnumber of points
[in]pntsmatrix whose columns are the points
[in]ld_pntsleading dimension of the matrix (fortran storage)
[out]tvector of the computed nodes

◆ FoleyNielsen()

void Splines::FoleyNielsen ( integer dim,
integer npts,
real_type const pnts[],
integer ld_pnts,
real_type t[] )

Compute nodes for the spline using FoleyNielsen distribution

Parameters
[in]dimdimension of the points
[in]nptsnumber of points
[in]pntsmatrix whose columns are the points
[in]ld_pntsleading dimension of the matrix (fortran storage)
[out]tvector of the computed nodes

◆ Pchip_build()

void Splines::Pchip_build ( real_type const X[],
real_type const Y[],
real_type Yp[],
integer npts )

References:

F.N. Fritsch, R.E. Carlson: Monotone Piecewise Cubic Interpolation, SIAM J. Numer. Anal. Vol 17, No. 2, April 1980

F.N. Fritsch and J. Butland: A method for constructing local monotone piecewise cubic interpolants, SIAM Journal on Scientific and Statistical Computing 5, 2 (June 1984), pp. 300-304.

◆ uniform()

void Splines::uniform ( integer dim,
integer npts,
real_type const pnts[],
integer ld_pnts,
real_type t[] )

Compute nodes for the spline using uniform distribution

Parameters
[in]dimdimension of the points
[in]nptsnumber of points
[in]pntsmatrix whose columns are the points
[in]ld_pntsleading dimension of the matrix (fortran storage)
[out]tvector of the computed nodes

◆ universal()

void Splines::universal ( integer dim,
integer npts,
real_type const pnts[],
integer ld_pnts,
real_type t[] )

Compute nodes for the spline using universal distribution

Parameters
[in]dimdimension of the points
[in]nptsnumber of points
[in]pntsmatrix whose columns are the points
[in]ld_pntsleading dimension of the matrix (fortran storage)
[out]tvector of the computed nodes