12 #ifndef ECL_GEOMETRY_TENSION_SPLINE_HPP_ 13 #define ECL_GEOMETRY_TENSION_SPLINE_HPP_ 41 namespace blueprints {
43 class C2TensionSpline;
139 template<
typename Derived>
158 double operator()(
const double &x)
const;
169 double derivative(
const double &x)
const;
178 double dderivative(
const double &x)
const;
204 template <
typename OutputStream>
221 template <
typename OutputStream>
226 for (
unsigned int i = 0; i < tension_spline.
functions.size(); ++i ) {
227 ostream << tension_spline.
functions[i] <<
"\n";
237 namespace blueprints {
288 base_type instantiate();
297 void apply(base_type& spline)
const;
ecl::Array< double > x_data
OutputStream & operator<<(OutputStream &ostream, const Array< ElementType, ArraySize > &array)
Embedded control libraries.
Blueprint factory for tension splines.
Storage container for a tension spline interpolation.
Array< double > discretised_domain
void implementApply(BaseType &object) const
virtual ~BluePrintFactory()
Blueprint for generating a tension spline satisfying C2 constraints.
C2TensionSpline()
Default constructor.
#define ecl_geometry_PUBLIC
ecl::TensionSpline base_type
Abstract representation of the class to be instantiated/configured.
TensionSpline(const BluePrint< Derived > &blueprint)
Blueprint constructor.
Representations for the tension function..
ecl::Array< double > yddot_data
BluePrintFactory< TensionSpline > Factory
Generates blueprints for this class.
TensionSpline()
Default constructor.
ecl::Array< double > y_data
#define ecl_compile_time_concept_check(Model)
const Array< double > & domain() const
The discretised domain for this spline.
Array< TensionFunction > functions