|
Point Cloud Library (PCL) 1.15.0
|
This represents a bivariate polynomial and provides some functionality for it. More...
#include <pcl/common/bivariate_polynomial.h>
Public Member Functions | |
| BivariatePolynomialT (int new_degree=0) | |
| Constructor. | |
| BivariatePolynomialT (const BivariatePolynomialT &other) | |
| Copy constructor. | |
| ~BivariatePolynomialT () | |
| Destructor. | |
| BivariatePolynomialT & | operator= (const BivariatePolynomialT &other) |
| = operator | |
| void | setDegree (int new_degree) |
| Initialize members to default values. | |
| unsigned int | getNoOfParameters () const |
| How many parameters 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 parameters has a bivariate polynomial of the given degree. | |
Public Attributes | |
| int | degree {0} |
| real * | parameters {nullptr} |
| BivariatePolynomialT< real > * | gradient_x {nullptr} |
| BivariatePolynomialT< real > * | gradient_y {nullptr} |
Protected Member Functions | |
| void | memoryCleanUp () |
| Delete all members. | |
| void | deepCopy (const BivariatePolynomialT< real > &other) |
| Create a deep copy of the given polynomial. | |
This represents a bivariate polynomial and provides some functionality for it.
Definition at line 53 of file bivariate_polynomial.h.
| pcl::BivariatePolynomialT< real >::BivariatePolynomialT | ( | int | new_degree = 0 | ) |
Constructor.
Definition at line 55 of file bivariate_polynomial.hpp.
References setDegree().
Referenced by BivariatePolynomialT().
| pcl::BivariatePolynomialT< real >::BivariatePolynomialT | ( | const BivariatePolynomialT< real > & | other | ) |
Copy constructor.
Definition at line 62 of file bivariate_polynomial.hpp.
References BivariatePolynomialT(), and deepCopy().
| pcl::BivariatePolynomialT< real >::~BivariatePolynomialT | ( | ) |
| void pcl::BivariatePolynomialT< real >::calculateGradient | ( | bool | forceRecalc = false | ) |
Calculate the gradient of this polynomial If forceRecalc is false, it will do nothing when the gradient already exists.
Definition at line 139 of file bivariate_polynomial.hpp.
References degree, gradient_x, gradient_y, and parameters.
Referenced by getValueOfGradient().
|
protected |
Create a deep copy of the given polynomial.
Definition at line 106 of file bivariate_polynomial.hpp.
References degree, getNoOfParameters(), gradient_x, gradient_y, memoryCleanUp(), and parameters.
Referenced by BivariatePolynomialT(), and pcl::BivariatePolynomialT< double >::operator=().
| void pcl::BivariatePolynomialT< real >::findCriticalPoints | ( | std::vector< real > & | x_values, |
| std::vector< real > & | y_values, | ||
| std::vector< int > & | types ) const |
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 200 of file bivariate_polynomial.hpp.
References degree, and parameters.
|
inline |
How many parameters has a bivariate polynomial with this degree.
Definition at line 76 of file bivariate_polynomial.h.
Referenced by deepCopy(), getValue(), and setDegree().
|
inlinestatic |
How many parameters has a bivariate polynomial of the given degree.
Definition at line 114 of file bivariate_polynomial.h.
Referenced by pcl::PolynomialCalculationsT< real >::bivariatePolynomialApproximation(), pcl::BivariatePolynomialT< double >::getNoOfParameters(), readBinary(), and writeBinary().
| real pcl::BivariatePolynomialT< real >::getValue | ( | real | x, |
| real | y ) const |
Calculate the value of the polynomial at the given point.
Definition at line 170 of file bivariate_polynomial.hpp.
References degree, getNoOfParameters(), and parameters.
| void pcl::BivariatePolynomialT< real >::getValueOfGradient | ( | real | x, |
| real | y, | ||
| real & | gradX, | ||
| real & | gradY ) |
Calculate the value of the gradient at the given point.
Definition at line 191 of file bivariate_polynomial.hpp.
References calculateGradient(), gradient_x, and gradient_y.
|
protected |
Delete all members.
Definition at line 97 of file bivariate_polynomial.hpp.
References gradient_x, gradient_y, and parameters.
Referenced by deepCopy(), readBinary(), setDegree(), and ~BivariatePolynomialT().
|
inline |
= operator
Definition at line 67 of file bivariate_polynomial.h.
| void pcl::BivariatePolynomialT< real >::readBinary | ( | const char * | filename | ) |
read binary from a file
Definition at line 304 of file bivariate_polynomial.hpp.
References readBinary().
| void pcl::BivariatePolynomialT< real >::readBinary | ( | std::istream & | os | ) |
read binary from a stream
Definition at line 293 of file bivariate_polynomial.hpp.
References degree, getNoOfParametersFromDegree(), memoryCleanUp(), and parameters.
Referenced by readBinary().
| void pcl::BivariatePolynomialT< real >::setDegree | ( | int | new_degree | ) |
Initialize members to default values.
Definition at line 76 of file bivariate_polynomial.hpp.
References degree, getNoOfParameters(), gradient_x, gradient_y, memoryCleanUp(), and parameters.
Referenced by pcl::PolynomialCalculationsT< real >::bivariatePolynomialApproximation(), and BivariatePolynomialT().
| void pcl::BivariatePolynomialT< real >::writeBinary | ( | const char * | filename | ) | const |
write as binary into a file
Definition at line 285 of file bivariate_polynomial.hpp.
References writeBinary().
| void pcl::BivariatePolynomialT< real >::writeBinary | ( | std::ostream & | os | ) | const |
write as binary to a stream
Definition at line 276 of file bivariate_polynomial.hpp.
References degree, getNoOfParametersFromDegree(), and parameters.
Referenced by writeBinary().
| int pcl::BivariatePolynomialT< real >::degree {0} |
Definition at line 117 of file bivariate_polynomial.h.
Referenced by calculateGradient(), deepCopy(), findCriticalPoints(), getValue(), pcl::operator<<(), readBinary(), setDegree(), and writeBinary().
| BivariatePolynomialT<real>* pcl::BivariatePolynomialT< real >::gradient_x {nullptr} |
Definition at line 119 of file bivariate_polynomial.h.
Referenced by calculateGradient(), deepCopy(), getValueOfGradient(), memoryCleanUp(), and setDegree().
| BivariatePolynomialT<real>* pcl::BivariatePolynomialT< real >::gradient_y {nullptr} |
Definition at line 120 of file bivariate_polynomial.h.
Referenced by calculateGradient(), deepCopy(), getValueOfGradient(), memoryCleanUp(), and setDegree().
| real* pcl::BivariatePolynomialT< real >::parameters {nullptr} |
Definition at line 118 of file bivariate_polynomial.h.
Referenced by pcl::PolynomialCalculationsT< real >::bivariatePolynomialApproximation(), calculateGradient(), deepCopy(), findCriticalPoints(), getValue(), memoryCleanUp(), pcl::operator<<(), readBinary(), setDegree(), and writeBinary().