lsst.afw  22.0.1-24-g2e899d296+b05a4897c9
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
lsst::afw::math::Interpolate Class Referenceabstract

#include <Interpolate.h>

Inheritance diagram for lsst::afw::math::Interpolate:
lsst::afw::math::InterpolateConstant lsst::afw::math::InterpolateGsl

Public Types

enum  Style {
  UNKNOWN = -1 , CONSTANT = 0 , LINEAR = 1 , NATURAL_SPLINE = 2 ,
  CUBIC_SPLINE = 3 , CUBIC_SPLINE_PERIODIC = 4 , AKIMA_SPLINE = 5 , AKIMA_SPLINE_PERIODIC = 6 ,
  NUM_STYLES
}
 

Public Member Functions

 Interpolate (Interpolate const &)=delete
 
 Interpolate (Interpolate &&)=delete
 
Interpolateoperator= (Interpolate const &)=delete
 
Interpolateoperator= (Interpolate &&)=delete
 
virtual ~Interpolate ()=default
 
virtual double interpolate (double const x) const =0
 
std::vector< double > interpolate (std::vector< double > const &x) const
 
ndarray::Array< double, 1 > interpolate (ndarray::Array< double const, 1 > const &x) const
 

Protected Member Functions

 Interpolate (std::vector< double > const &x, std::vector< double > const &y, Interpolate::Style const style=UNKNOWN)
 Base class ctor. More...
 
 Interpolate (std::pair< std::vector< double >, std::vector< double > > const xy, Interpolate::Style const style=UNKNOWN)
 Base class ctor. More...
 

Protected Attributes

std::vector< double > const _x
 
std::vector< double > const _y
 
Interpolate::Style const _style
 

Friends

std::shared_ptr< InterpolatemakeInterpolate (std::vector< double > const &x, std::vector< double > const &y, Interpolate::Style const style)
 A factory function to make Interpolate objects. More...
 

Detailed Description

Definition at line 36 of file Interpolate.h.

Member Enumeration Documentation

◆ Style

Enumerator
UNKNOWN 
CONSTANT 
LINEAR 
NATURAL_SPLINE 
CUBIC_SPLINE 
CUBIC_SPLINE_PERIODIC 
AKIMA_SPLINE 
AKIMA_SPLINE_PERIODIC 
NUM_STYLES 

Definition at line 38 of file Interpolate.h.

Constructor & Destructor Documentation

◆ Interpolate() [1/4]

lsst::afw::math::Interpolate::Interpolate ( Interpolate const &  )
delete

◆ Interpolate() [2/4]

lsst::afw::math::Interpolate::Interpolate ( Interpolate &&  )
delete

◆ ~Interpolate()

virtual lsst::afw::math::Interpolate::~Interpolate ( )
virtualdefault

◆ Interpolate() [3/4]

lsst::afw::math::Interpolate::Interpolate ( std::vector< double > const &  x,
std::vector< double > const &  y,
Interpolate::Style const  style = UNKNOWN 
)
inlineprotected

Base class ctor.

Parameters
xthe ordinates of points
ythe values at x[]
styledesired interpolator

Definition at line 67 of file Interpolate.h.

◆ Interpolate() [4/4]

lsst::afw::math::Interpolate::Interpolate ( std::pair< std::vector< double >, std::vector< double > > const  xy,
Interpolate::Style const  style = UNKNOWN 
)
protected

Base class ctor.

Note that we should use rvalue references when available as the vectors in xy will typically be movable (although the returned-value-optimisation might suffice for the cases we care about)

Parameters
xypair (x,y) where x are the ordinates of points and y are the values at x[]
styledesired interpolator

Definition at line 336 of file Interpolate.cc.

Member Function Documentation

◆ interpolate() [1/3]

virtual double lsst::afw::math::Interpolate::interpolate ( double const  x) const
pure virtual

◆ interpolate() [2/3]

ndarray::Array< double, 1 > lsst::afw::math::Interpolate::interpolate ( ndarray::Array< double const, 1 > const &  x) const

Definition at line 304 of file Interpolate.cc.

◆ interpolate() [3/3]

std::vector< double > lsst::afw::math::Interpolate::interpolate ( std::vector< double > const &  x) const

Definition at line 295 of file Interpolate.cc.

◆ operator=() [1/2]

Interpolate& lsst::afw::math::Interpolate::operator= ( Interpolate &&  )
delete

◆ operator=() [2/2]

Interpolate& lsst::afw::math::Interpolate::operator= ( Interpolate const &  )
delete

Friends And Related Function Documentation

◆ makeInterpolate

std::shared_ptr<Interpolate> makeInterpolate ( std::vector< double > const &  x,
std::vector< double > const &  y,
Interpolate::Style const  style = Interpolate::AKIMA_SPLINE 
)
friend

A factory function to make Interpolate objects.

Parameters
xthe x-values of points
ythe values at x[]
styledesired interpolator

Definition at line 343 of file Interpolate.cc.

Member Data Documentation

◆ _style

Interpolate::Style const lsst::afw::math::Interpolate::_style
protected

Definition at line 85 of file Interpolate.h.

◆ _x

std::vector<double> const lsst::afw::math::Interpolate::_x
protected

Definition at line 83 of file Interpolate.h.

◆ _y

std::vector<double> const lsst::afw::math::Interpolate::_y
protected

Definition at line 84 of file Interpolate.h.


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