BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Protected Attributes | List of all members
BALL::PiecewisePolynomial Class Reference

#include <BALL/MATHS/piecewisePolynomial.h>

Inheritance diagram for BALL::PiecewisePolynomial:
BALL::PiecewiseFunction

Public Member Functions

Constructors and Destructors
 PiecewisePolynomial ()
 
 PiecewisePolynomial (const PiecewisePolynomial &polynomial)
 
 PiecewisePolynomial (Size degree, const std::vector< Interval > &intervals, const std::vector< Coefficients > &coefficients)
 
virtual ~PiecewisePolynomial ()
 
Assignment
PiecewisePolynomialoperator= (const PiecewisePolynomial &poly)
 
virtual void clear ()
 
Accessors
void set (Size degree, const std::vector< Interval > &intervals, const std::vector< Coefficients > &coeffs)
 
void setDegree (Size degree)
 set the degree of the polynomial More...
 
Size getDegree () const
 get the degree of the polynomial More...
 
virtual double operator() (double x) const
 compute the value of the PiecewisePolynomial at a given x More...
 
Predicates
bool operator== (const PiecewisePolynomial &poly) const
 
Debugging and Diagnostics
virtual void dump (std::ostream &s=std::cout, Size depth=0) const
 
- Public Member Functions inherited from BALL::PiecewiseFunction
 PiecewiseFunction ()
 
 PiecewiseFunction (const PiecewiseFunction &function)
 
 PiecewiseFunction (const std::vector< Interval > &intervals, const std::vector< Coefficients > &coeffs)
 
virtual ~PiecewiseFunction ()
 
PiecewiseFunctionoperator= (const PiecewiseFunction &function)
 
void clear ()
 
void setIntervals (const std::vector< Interval > &intervals)
 
const std::vector< Interval > & getIntervals () const
 
const IntervalgetInterval (double x) const
 
const IntervalgetInterval (Position index) const
 
Position getIntervalIndex (double x) const
 
const IntervalgetRange () const
 
void setCoefficients (const vector< Coefficients > &coefficients)
 
const std::vector< Coefficients > & getCoefficients () const
 
const CoefficientsgetCoefficients (double x) const
 
const CoefficientsgetCoefficients (Position index) const
 
void set (const std::vector< Interval > &intervals, const std::vector< Coefficients > &coeffs)
 
bool isInRange (double x) const
 
virtual bool isValid () const
 
bool operator== (const PiecewiseFunction &function) const
 

Protected Attributes

Size degree_
 
- Protected Attributes inherited from BALL::PiecewiseFunction
std::vector< Intervalintervals_
 
std::vector< Coefficientscoefficients_
 
bool valid_
 

Detailed Description

Piecewise polynomial curve object. This class provides a trivial implementation of piecewise polynomial curves. More useful spline/B-spline implementations might follow in the future. The PPCurves are of the form

\[\sum_{i=0}^{d} a_i^{(k)} (x - x_0^{(k)})^i\]

, where $k$ is the index of the interval and $d$ is the overall degree of the PPCurve. Note that there is no warranty that the defined curve is continuously differentiable or even continuous.

Definition at line 27 of file piecewisePolynomial.h.

Constructor & Destructor Documentation

BALL::PiecewisePolynomial::PiecewisePolynomial ( )

Default constructor

BALL::PiecewisePolynomial::PiecewisePolynomial ( const PiecewisePolynomial polynomial)

Copy constructor

BALL::PiecewisePolynomial::PiecewisePolynomial ( Size  degree,
const std::vector< Interval > &  intervals,
const std::vector< Coefficients > &  coefficients 
)

Detailed Constructor. This constructor does not check sanity of the arguments

virtual BALL::PiecewisePolynomial::~PiecewisePolynomial ( )
virtual

Destructor

Member Function Documentation

virtual void BALL::PiecewisePolynomial::clear ( )
virtual

Clear method

virtual void BALL::PiecewisePolynomial::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const
virtual

Dumps the whole content of the object

Reimplemented from BALL::PiecewiseFunction.

Size BALL::PiecewisePolynomial::getDegree ( ) const

get the degree of the polynomial

virtual double BALL::PiecewisePolynomial::operator() ( double  x) const
virtual

compute the value of the PiecewisePolynomial at a given x

Reimplemented from BALL::PiecewiseFunction.

PiecewisePolynomial& BALL::PiecewisePolynomial::operator= ( const PiecewisePolynomial poly)

Assignment operator

bool BALL::PiecewisePolynomial::operator== ( const PiecewisePolynomial poly) const

Equality operator

void BALL::PiecewisePolynomial::set ( Size  degree,
const std::vector< Interval > &  intervals,
const std::vector< Coefficients > &  coeffs 
)

Set the instance manually

void BALL::PiecewisePolynomial::setDegree ( Size  degree)

set the degree of the polynomial

Member Data Documentation

Size BALL::PiecewisePolynomial::degree_
protected

Definition at line 111 of file piecewisePolynomial.h.