39 #ifndef BIVARIATE_POLYNOMIAL_H
40 #define BIVARIATE_POLYNOMIAL_H
51 template<
typename real>
93 findCriticalPoints (std::vector<real>& x_values, std::vector<real>& y_values, std::vector<int>& types)
const;
132 template<
typename real>
134 operator<< (std::ostream& os, const BivariatePolynomialT<real>& p);
141 #include <pcl/common/impl/bivariate_polynomial.hpp>
This represents a bivariate polynomial and provides some functionality for it.
~BivariatePolynomialT()
Destructor.
void calculateGradient(bool forceRecalc=false)
Calculate the gradient of this polynomial If forceRecalc is false, it will do nothing when the gradie...
BivariatePolynomialT< real > * gradient_x
void memoryCleanUp()
Delete all members.
void deepCopy(const BivariatePolynomialT< real > &other)
Create a deep copy of the given polynomial.
BivariatePolynomialT< real > * gradient_y
unsigned int getNoOfParameters() const
How many parametes has a bivariate polynomial with this degree.
void findCriticalPoints(std::vector< real > &x_values, std::vector< real > &y_values, std::vector< int > &types) const
Returns critical points of the polynomial.
BivariatePolynomialT< float > BivariatePolynomial
void writeBinary(std::ostream &os) const
write as binary to a stream
void setDegree(int new_degree)
Initialize members to default values.
BivariatePolynomialT(int new_degree=0)
Constructor.
void readBinary(std::istream &os)
read binary from a stream
real getValue(real x, real y) const
Calculate the value of the polynomial at the given point.
BivariatePolynomialT & operator=(const BivariatePolynomialT &other)
= operator
static unsigned int getNoOfParametersFromDegree(int n)
How many parametes has a bivariate polynomial of the given degree.
BivariatePolynomialT< double > BivariatePolynomiald
void getValueOfGradient(real x, real y, real &gradX, real &gradY)
Calculate the value of the gradient at the given point.