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... | |
DerivativeHeuristicCubicSpline () | |
Default constructor. More... | |
DerivativeHeuristicCubicSpline (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 | ~DerivativeHeuristicCubicSpline () |
Public Member Functions inherited from ecl::BluePrint< DerivativeHeuristicCubicSpline > | |
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 > | ydot_data |
Blueprint for generating a cubic spline satisfying C2 constraints.
Generates a blueprint for creating cubic splines on a set of data satisfying a heuristic that automatically generates y' values at the via points. These are later used to generate the connecting cubics.
The heuristic finds the average of the linear slopes connected to each via point. This specifies the desired slope for that via point.
Definition at line 362 of file cubic_spline.hpp.
Abstract representation of the class to be instantiated/configured.
Definition at line 367 of file cubic_spline.hpp.
|
inline |
Default constructor.
Default constructor (only utilised by the blueprint compile time assert).
Definition at line 373 of file cubic_spline.hpp.
ecl::blueprints::DerivativeHeuristicCubicSpline::DerivativeHeuristicCubicSpline | ( | 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.
This constructor uses the heuristic to specify the slope at via points. These are stored and later used to generate the connecting cubics.
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 141 of file cubic_spline_blueprints.cpp.
|
inlinevirtual |
Definition at line 391 of file cubic_spline.hpp.
void ecl::blueprints::DerivativeHeuristicCubicSpline::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 167 of file cubic_spline_blueprints.cpp.
ecl::CubicSpline ecl::blueprints::DerivativeHeuristicCubicSpline::instantiate | ( | ) |
Instantiate a copy of the object that is blueprinted.
Instantiates a new cubic spline generated from the supplied data set.
Definition at line 161 of file cubic_spline_blueprints.cpp.
|
private |
Definition at line 411 of file cubic_spline.hpp.
|
private |
Definition at line 412 of file cubic_spline.hpp.
|
private |
Definition at line 413 of file cubic_spline.hpp.