Public Types | Public Member Functions | Private Attributes | List of all members
ecl::blueprints::DerivativeHeuristicCubicSpline Class Reference

Blueprint for generating a cubic spline satisfying C2 constraints. More...

#include <cubic_spline.hpp>

Inheritance diagram for ecl::blueprints::DerivativeHeuristicCubicSpline:
Inheritance graph
[legend]

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
 

Detailed Description

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.

See also
CubicSpline.

Definition at line 370 of file cubic_spline.hpp.

Member Typedef Documentation

◆ base_type

Abstract representation of the class to be instantiated/configured.

Definition at line 377 of file cubic_spline.hpp.

Constructor & Destructor Documentation

◆ DerivativeHeuristicCubicSpline() [1/2]

ecl::blueprints::DerivativeHeuristicCubicSpline::DerivativeHeuristicCubicSpline ( )
inline

Default constructor.

Default constructor (only utilised by the blueprint compile time assert).

Definition at line 383 of file cubic_spline.hpp.

◆ DerivativeHeuristicCubicSpline() [2/2]

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.

Parameters
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).
Exceptions
StandardException : throws if it failed to construct [debug mode only].

Definition at line 149 of file cubic_spline_blueprints.cpp.

◆ ~DerivativeHeuristicCubicSpline()

virtual ecl::blueprints::DerivativeHeuristicCubicSpline::~DerivativeHeuristicCubicSpline ( )
inlinevirtual

Definition at line 401 of file cubic_spline.hpp.

Member Function Documentation

◆ apply()

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.

Parameters
spline: the spline to configure from the supplied data set.

Definition at line 175 of file cubic_spline_blueprints.cpp.

◆ instantiate()

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.

Returns
CubicSpline : a copy of the generated cubic spline.

Definition at line 169 of file cubic_spline_blueprints.cpp.

Member Data Documentation

◆ x_data

ecl::Array<double> ecl::blueprints::DerivativeHeuristicCubicSpline::x_data
private

Definition at line 421 of file cubic_spline.hpp.

◆ y_data

ecl::Array<double> ecl::blueprints::DerivativeHeuristicCubicSpline::y_data
private

Definition at line 422 of file cubic_spline.hpp.

◆ ydot_data

ecl::Array<double> ecl::blueprints::DerivativeHeuristicCubicSpline::ydot_data
private

Definition at line 423 of file cubic_spline.hpp.


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


ecl_geometry
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:16:40