pcl::BivariatePolynomialT< real > Class Template Reference
[Module common]

This represents a bivariate polynomial and provides some functionality for it. More...

#include <pcl/common/bivariate_polynomial.h>

List of all members.

Public Member Functions

 BivariatePolynomialT (int new_degree=0)
 Constructor.
 BivariatePolynomialT (const BivariatePolynomialT &other)
 Copy constructor.
 ~BivariatePolynomialT ()
 Destructor.
BivariatePolynomialToperator= (const BivariatePolynomialT &other)
 = operator
void setDegree (int new_degree)
 Initialize members to default values.
unsigned int getNoOfParameters () const
 How many parametes has a bivariate polynomial with this degree.
real getValue (real x, real y) const
 Calculate the value of the polynomial at the given point.
void calculateGradient (bool forceRecalc=false)
 Calculate the gradient of this polynomial If forceRecalc is false, it will do nothing when the gradient already exists.
void getValueOfGradient (real x, real y, real &gradX, real &gradY)
 Calculate the value of the gradient at the given point.
void findCriticalPoints (std::vector< real > &x_values, std::vector< real > &y_values, std::vector< int > &types) const
 Returns critical points of the polynomial.
void writeBinary (std::ostream &os) const
 write as binary to a stream
void writeBinary (const char *filename) const
 write as binary into a file
void readBinary (std::istream &os)
 read binary from a stream
void readBinary (const char *filename)
 read binary from a file

Static Public Member Functions

static unsigned int getNoOfParametersFromDegree (int n)
 How many parametes has a bivariate polynomial of the given degree.

Public Attributes

int degree
real * parameters
BivariatePolynomialT< real > * gradient_x
BivariatePolynomialT< real > * gradient_y

Protected Member Functions

void memoryCleanUp ()
 Delete all members.
void deepCopy (const BivariatePolynomialT< real > &other)
 Create a deep copy of the given polynomial.

Detailed Description

template<typename real>
class pcl::BivariatePolynomialT< real >

This represents a bivariate polynomial and provides some functionality for it.

Author:
Bastian Steder

Definition at line 52 of file bivariate_polynomial.h.


Constructor & Destructor Documentation

template<typename real >
pcl::BivariatePolynomialT< real >::BivariatePolynomialT ( int  new_degree = 0  )  [inline]

Constructor.

Definition at line 44 of file bivariate_polynomial.hpp.

References pcl::BivariatePolynomialT< real >::setDegree().

template<typename real >
pcl::BivariatePolynomialT< real >::BivariatePolynomialT ( const BivariatePolynomialT< real > &  other  )  [inline]

Copy constructor.

Definition at line 52 of file bivariate_polynomial.hpp.

References pcl::BivariatePolynomialT< real >::deepCopy().

template<typename real >
pcl::BivariatePolynomialT< real >::~BivariatePolynomialT (  )  [inline]

Destructor.

Definition at line 60 of file bivariate_polynomial.hpp.

References pcl::BivariatePolynomialT< real >::memoryCleanUp().


Member Function Documentation

template<typename real >
void pcl::BivariatePolynomialT< real >::calculateGradient ( bool  forceRecalc = false  )  [inline]

Calculate the gradient of this polynomial If forceRecalc is false, it will do nothing when the gradient already exists.

Definition at line 131 of file bivariate_polynomial.hpp.

References pcl::BivariatePolynomialT< real >::degree, pcl::BivariatePolynomialT< real >::gradient_x, pcl::BivariatePolynomialT< real >::gradient_y, and pcl::BivariatePolynomialT< real >::parameters.

Referenced by pcl::BivariatePolynomialT< real >::getValueOfGradient().

template<typename real >
void pcl::BivariatePolynomialT< real >::deepCopy ( const BivariatePolynomialT< real > &  other  )  [inline, protected]
template<typename real >
void pcl::BivariatePolynomialT< real >::findCriticalPoints ( std::vector< real > &  x_values,
std::vector< real > &  y_values,
std::vector< int > &  types 
) const [inline]

Returns critical points of the polynomial.

type can be 0=maximum, 1=minimum, or 2=saddle point !!Currently only implemented for degree 2!!

Definition at line 192 of file bivariate_polynomial.hpp.

References pcl::BivariatePolynomialT< real >::degree, and pcl::BivariatePolynomialT< real >::parameters.

template<typename real>
unsigned int pcl::BivariatePolynomialT< real >::getNoOfParameters (  )  const [inline]
template<typename real>
static unsigned int pcl::BivariatePolynomialT< real >::getNoOfParametersFromDegree ( int  n  )  [inline, static]

How many parametes has a bivariate polynomial of the given degree.

Definition at line 113 of file bivariate_polynomial.h.

Referenced by pcl::BivariatePolynomialT< real >::getNoOfParameters(), pcl::BivariatePolynomialT< real >::readBinary(), and pcl::BivariatePolynomialT< real >::writeBinary().

template<typename real >
real pcl::BivariatePolynomialT< real >::getValue ( real  x,
real  y 
) const [inline]
template<typename real >
void pcl::BivariatePolynomialT< real >::getValueOfGradient ( real  x,
real  y,
real &  gradX,
real &  gradY 
) [inline]
template<typename real >
void pcl::BivariatePolynomialT< real >::memoryCleanUp (  )  [inline, protected]
template<typename real>
BivariatePolynomialT& pcl::BivariatePolynomialT< real >::operator= ( const BivariatePolynomialT< real > &  other  )  [inline]

= operator

Definition at line 66 of file bivariate_polynomial.h.

References pcl::BivariatePolynomialT< real >::deepCopy().

template<typename real >
void pcl::BivariatePolynomialT< real >::readBinary ( const char *  filename  )  [inline]

read binary from a file

Definition at line 296 of file bivariate_polynomial.hpp.

References pcl::BivariatePolynomialT< real >::readBinary().

template<typename real >
void pcl::BivariatePolynomialT< real >::readBinary ( std::istream &  os  )  [inline]
template<typename real >
void pcl::BivariatePolynomialT< real >::setDegree ( int  new_degree  )  [inline]
template<typename real >
void pcl::BivariatePolynomialT< real >::writeBinary ( const char *  filename  )  const [inline]

write as binary into a file

Definition at line 277 of file bivariate_polynomial.hpp.

References pcl::BivariatePolynomialT< real >::writeBinary().

template<typename real >
void pcl::BivariatePolynomialT< real >::writeBinary ( std::ostream &  os  )  const [inline]

Member Data Documentation

template<typename real>
int pcl::BivariatePolynomialT< real >::degree
template<typename real>
BivariatePolynomialT<real>* pcl::BivariatePolynomialT< real >::gradient_x
template<typename real>
BivariatePolynomialT<real> * pcl::BivariatePolynomialT< real >::gradient_y
template<typename real>
real* pcl::BivariatePolynomialT< real >::parameters

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends