BALL  1.4.1
 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
Size getDegree () const
 get the degree of the polynomial
virtual double operator() (double x) const
 compute the value of the PiecewisePolynomial at a given x
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 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

Reimplemented from BALL::PiecewiseFunction.

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.