Free Electron
Public Member Functions | Static Public Member Functions | List of all members
fe::ext::Spline< T, U > Class Template Reference

A stateless namespace for assorted spline functions. More...

#include <Spline.h>

Public Member Functions

template<>
double Basis2D (double a_t, I32 a_count, const double *a_pKnot, const double *a_pControl)
 

Static Public Member Functions

static T Cardinal2D (U t, T p0, T p1, T p2, T p3)
 Compute f(t) for 0<=t<=1 where f(-1)=p0, f(0)=p1, f(1)=p2, f(2)=p3. More...
 
static T Cardinal2D_d1 (U t, T p0, T p1, T p2, T p3)
 Compute 1st derivitive of f(t) More...
 
static T Cardinal2D_d2 (U t, T p0, T p1, T p2, T p3)
 Compute 2nd derivitive of f(t) More...
 
static FE_DL_EXPORT T Basis2D (U a_t, I32 a_count, const T *a_pKnot, const T *a_pControl)
 

Detailed Description

template<typename T, typename U = T>
class fe::ext::Spline< T, U >

A stateless namespace for assorted spline functions.

The Cardinal spline was introduced by I.J. Schoenberg in 1973.

The Cardinal spline guarantees control-point intersection. It assumes fairly evenly spaced samples.

A Catmull-Rom spline appears to be a Cardinal spline with the "tension" adjustment fixed at 0.5.

Member Function Documentation

◆ Cardinal2D()

template<typename T , typename U >
T fe::ext::Spline< T, U >::Cardinal2D ( t,
p0,
p1,
p2,
p3 
)
static

Compute f(t) for 0<=t<=1 where f(-1)=p0, f(0)=p1, f(1)=p2, f(2)=p3.

◆ Cardinal2D_d1()

template<typename T , typename U >
T fe::ext::Spline< T, U >::Cardinal2D_d1 ( t,
p0,
p1,
p2,
p3 
)
static

Compute 1st derivitive of f(t)

◆ Cardinal2D_d2()

template<typename T , typename U >
T fe::ext::Spline< T, U >::Cardinal2D_d2 ( t,
p0,
p1,
p2,
p3 
)
static

Compute 2nd derivitive of f(t)


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