Public Member Functions | Private Attributes | List of all members
ecl::SplineFunction< Function > Class Template Reference

Template wrapper for a generic spline function. More...

#include <spline_function.hpp>

Inheritance diagram for ecl::SplineFunction< Function >:
Inheritance graph
[legend]

Public Member Functions

double dderivative (const double &x) const
 Access the value of the spline function's 2nd derivative at the specified value. More...
 
double derivative (const double &x) const
 Access the value of the spline function's derivative at the specified value. More...
 
double operator() (const double &x) const
 Access the value of the spline function at the specified value. More...
 
 SplineFunction (const double &time_begin, const double &time_end, const Function &f)
 Constructor, copies across an already existing spline function type and wraps it. More...
 
virtual ~SplineFunction ()
 
- Public Member Functions inherited from ecl::GenericSplineFunction
const Array< double, 2 > & domain ()
 Get access to the domain for this spline function. More...
 
virtual ~GenericSplineFunction ()
 

Private Attributes

Function function
 

Additional Inherited Members

- Protected Attributes inherited from ecl::GenericSplineFunction
Array< double, 2 > time_domain
 

Detailed Description

template<typename Function>
class ecl::SplineFunction< Function >

Template wrapper for a generic spline function.

Template wrapper for a generic spline function. Didn't want to inherit an interface for all the underlying functions (polynomials, tension functions, splines etc) so this is an indirect way of getting the polymorphism to work. It is not usually used directly, but rather internally in the trajectory classes.

Template Parameters
Function: the internally wrapped function.

Definition at line 88 of file spline_function.hpp.

Constructor & Destructor Documentation

◆ SplineFunction()

template<typename Function >
ecl::SplineFunction< Function >::SplineFunction ( const double &  time_begin,
const double &  time_end,
const Function &  f 
)
inline

Constructor, copies across an already existing spline function type and wraps it.

Copies an existing spline function into this wrapper along with domain boundaries.

Parameters
time_begin: beginning of the domain the spline function is valid on.
time_end: end of the domain the spline function is valid on.
f: the spline function to wrap.

Definition at line 99 of file spline_function.hpp.

◆ ~SplineFunction()

template<typename Function >
virtual ecl::SplineFunction< Function >::~SplineFunction ( )
inlinevirtual

Definition at line 102 of file spline_function.hpp.

Member Function Documentation

◆ dderivative()

template<typename Function >
double ecl::SplineFunction< Function >::dderivative ( const double &  x) const
inlinevirtual

Access the value of the spline function's 2nd derivative at the specified value.

Parameters
x: the point at which you wish to calculate the value for.
Returns
double : the value of the 2nd derivative at x.
Exceptions
StandardException : throws if input x value is outside the domain [debug mode only].

Implements ecl::GenericSplineFunction.

Definition at line 132 of file spline_function.hpp.

◆ derivative()

template<typename Function >
double ecl::SplineFunction< Function >::derivative ( const double &  x) const
inlinevirtual

Access the value of the spline function's derivative at the specified value.

Parameters
x: the point at which you wish to calculate the value for.
Returns
double : the value of the derivative at x.
Exceptions
StandardException : throws if input x value is outside the domain [debug mode only].

Implements ecl::GenericSplineFunction.

Definition at line 121 of file spline_function.hpp.

◆ operator()()

template<typename Function >
double ecl::SplineFunction< Function >::operator() ( const double &  x) const
inlinevirtual

Access the value of the spline function at the specified value.

Parameters
x: the point at which you wish to calculate the value for.
Returns
double : the value of the function at x.
Exceptions
StandardException : throws if input x value is outside the domain [debug mode only].

Implements ecl::GenericSplineFunction.

Definition at line 110 of file spline_function.hpp.

Member Data Documentation

◆ function

template<typename Function >
Function ecl::SplineFunction< Function >::function
private

Definition at line 138 of file spline_function.hpp.


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


ecl_geometry
Author(s): Daniel Stonier
autogenerated on Mon Feb 28 2022 22:18:49