Blueprint for generating a cubic spline satisfying C2 constraints. More...
#include <cubic_spline.hpp>
Public Types | |
typedef ecl::CubicSpline | base_type |
Abstract representation of the class to be instantiated/configured. More... | |
Public Member Functions | |
void | apply (ecl::CubicSpline &spline) const |
Apply the blueprint to configure an existing object. More... | |
C2CubicSpline () | |
Default constructor. More... | |
C2CubicSpline (const ecl::Array< double > &x_set, const ecl::Array< double > &y_set) | |
Constructor that properly configures/initialises the blueprint. More... | |
C2CubicSpline (const ecl::Array< double > &x_set, const ecl::Array< double > &y_set, const double ydot_0, const double ydot_f) | |
Constructor that properly configures/initialises the blueprint. More... | |
ecl::CubicSpline | instantiate () |
Instantiate a copy of the object that is blueprinted. More... | |
virtual | ~C2CubicSpline () |
Public Member Functions inherited from ecl::BluePrint< C2CubicSpline > | |
BluePrint () | |
void | implementApply (BaseType &object) const |
BaseType | implementInstantiate () |
virtual | ~BluePrint () |
Private Attributes | |
ecl::Array< double > | x_data |
ecl::Array< double > | y_data |
ecl::Array< double > | yddot_data |
Blueprint for generating a cubic spline satisfying C2 constraints.
Blueprint for generating a cubic spline on a set of data given the constraint of continuity of y, y' and y''.
Definition at line 284 of file cubic_spline.hpp.
Abstract representation of the class to be instantiated/configured.
Definition at line 293 of file cubic_spline.hpp.
|
inline |
Default constructor.
Default constructor (only utilised by the blueprint compile time assert).
Definition at line 299 of file cubic_spline.hpp.
ecl::blueprints::C2CubicSpline::C2CubicSpline | ( | const ecl::Array< double > & | x_set, |
const ecl::Array< double > & | y_set, | ||
const double | ydot_0, | ||
const double | ydot_f | ||
) |
Constructor that properly configures/initialises the blueprint.
The constructor uses the input data sets to generate second derivatives at each via point so that a cubic spline will guarantee continuity.
x_set | : set of data on the domain axis. |
y_set | : set of values on the range axis. |
ydot_0 | : initial derivative value (boundary constraint). |
ydot_f | : final derivative value (boundary constraint). |
StandardException : throws if it failed to construct [debug mode only]. |
Definition at line 50 of file cubic_spline_blueprints.cpp.
|
inlinevirtual |
Definition at line 316 of file cubic_spline.hpp.
ecl::blueprints::C2CubicSpline::C2CubicSpline | ( | const ecl::Array< double > & | x_set, |
const ecl::Array< double > & | y_set | ||
) |
Constructor that properly configures/initialises the blueprint.
The constructor uses the input data sets to generate second derivatives at each via point so that a cubic spline will guarantee continuity. This is a special case that does not use boundary derivative values to establish the result. Rather it automatically sets the boundary second derivatives to zero. This is more commonly known as the natural cubic spline.
x_set | : set of data on the domain axis. |
y_set | : set of values on the range axis. |
StandardException : throws if it failed to construct [debug mode only]. |
Definition at line 91 of file cubic_spline_blueprints.cpp.
void ecl::blueprints::C2CubicSpline::apply | ( | ecl::CubicSpline & | spline | ) | const |
Apply the blueprint to configure an existing object.
Apply the data set to generate the configuration required for the cubic spline.
spline | : the spline to configure from the supplied data set. |
Definition at line 133 of file cubic_spline_blueprints.cpp.
ecl::CubicSpline ecl::blueprints::C2CubicSpline::instantiate | ( | ) |
Instantiate a copy of the object that is blueprinted.
Instantiates a new cubic spline generated from the supplied data set.
Definition at line 127 of file cubic_spline_blueprints.cpp.
|
private |
Definition at line 351 of file cubic_spline.hpp.
|
private |
Definition at line 352 of file cubic_spline.hpp.
|
private |
Definition at line 353 of file cubic_spline.hpp.