Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes
pcl::poisson::Polynomial< Degree > Class Template Reference

#include <pcl/surface/3rdparty/poisson4/polynomial.h>

Public Member Functions

 Polynomial (void)
 
template<int Degree2>
 Polynomial (const Polynomial< Degree2 > &P)
 
double operator() (double t) const
 
double integral (double tMin, double tMax) const
 
int operator== (const Polynomial &p) const
 
int operator!= (const Polynomial &p) const
 
int isZero (void) const
 
void setZero (void)
 
template<int Degree2>
Polynomialoperator= (const Polynomial< Degree2 > &p)
 
Polynomialoperator+= (const Polynomial &p)
 
Polynomialoperator-= (const Polynomial &p)
 
Polynomial operator- (void) const
 
Polynomial operator+ (const Polynomial &p) const
 
Polynomial operator- (const Polynomial &p) const
 
template<int Degree2>
Polynomial< Degree+Degree2 > operator* (const Polynomial< Degree2 > &p) const
 
Polynomialoperator+= (double s)
 
Polynomialoperator-= (double s)
 
Polynomialoperator*= (double s)
 
Polynomialoperator/= (double s)
 
Polynomial operator+ (double s) const
 
Polynomial operator- (double s) const
 
Polynomial operator* (double s) const
 
Polynomial operator/ (double s) const
 
Polynomial scale (double s) const
 
Polynomial shift (double t) const
 
Polynomial< Degree-1 > derivative (void) const
 
Polynomial< Degree+1 > integral (void) const
 
void printnl (void) const
 
PolynomialaddScaled (const Polynomial &p, double scale)
 
void getSolutions (double c, std::vector< double > &roots, double EPS) const
 
template<int Degree2>
Polynomial< Degree > & operator= (const Polynomial< Degree2 > &p)
 
double operator() (double t) const
 
double operator() (double t) const
 
double operator() (double t) const
 
Polynomial< 0 > BSplineComponent (int i)
 

Static Public Member Functions

static void Negate (const Polynomial &in, Polynomial &out)
 
static void Subtract (const Polynomial &p1, const Polynomial &p2, Polynomial &q)
 
static void Scale (const Polynomial &p, double w, Polynomial &q)
 
static void AddScaled (const Polynomial &p1, double w1, const Polynomial &p2, double w2, Polynomial &q)
 
static void AddScaled (const Polynomial &p1, const Polynomial &p2, double w2, Polynomial &q)
 
static void AddScaled (const Polynomial &p1, double w1, const Polynomial &p2, Polynomial &q)
 
static Polynomial BSplineComponent (int i)
 

Public Attributes

double coefficients [Degree+1]
 

Detailed Description

template<int Degree>
class pcl::poisson::Polynomial< Degree >

Definition at line 40 of file polynomial.h.

Constructor & Destructor Documentation

◆ Polynomial() [1/2]

template<int Degree>
pcl::poisson::Polynomial< Degree >::Polynomial ( void  )

Definition at line 48 of file polynomial.hpp.

◆ Polynomial() [2/2]

template<int Degree>
template<int Degree2>
pcl::poisson::Polynomial< Degree >::Polynomial ( const Polynomial< Degree2 > &  P)

Definition at line 51 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

Member Function Documentation

◆ addScaled()

template<int Degree>
Polynomial< Degree > & pcl::poisson::Polynomial< Degree >::addScaled ( const Polynomial< Degree > &  p,
double  scale 
)

Definition at line 122 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ AddScaled() [1/3]

template<int Degree>
void pcl::poisson::Polynomial< Degree >::AddScaled ( const Polynomial< Degree > &  p1,
const Polynomial< Degree > &  p2,
double  w2,
Polynomial< Degree > &  q 
)
static

Definition at line 161 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ AddScaled() [2/3]

template<int Degree>
void pcl::poisson::Polynomial< Degree >::AddScaled ( const Polynomial< Degree > &  p1,
double  w1,
const Polynomial< Degree > &  p2,
double  w2,
Polynomial< Degree > &  q 
)
static

Definition at line 153 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ AddScaled() [3/3]

template<int Degree>
void pcl::poisson::Polynomial< Degree >::AddScaled ( const Polynomial< Degree > &  p1,
double  w1,
const Polynomial< Degree > &  p2,
Polynomial< Degree > &  q 
)
static

Definition at line 157 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ BSplineComponent() [1/2]

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::BSplineComponent ( int  i)
inlinestatic

◆ BSplineComponent() [2/2]

Polynomial< 0 > pcl::poisson::Polynomial< 0 >::BSplineComponent ( int  i)
inline

Definition at line 303 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ derivative()

template<int Degree>
Polynomial< Degree-1 > pcl::poisson::Polynomial< Degree >::derivative ( void  ) const

Definition at line 67 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ getSolutions()

template<int Degree>
void pcl::poisson::Polynomial< Degree >::getSolutions ( double  c,
std::vector< double > &  roots,
double  EPS 
) const

Definition at line 275 of file polynomial.hpp.

References pcl::poisson::Factor().

Referenced by pcl::poisson::PPolynomial< Degree >::getSolutions().

◆ integral() [1/2]

template<int Degree>
double pcl::poisson::Polynomial< Degree >::integral ( double  tMin,
double  tMax 
) const

◆ integral() [2/2]

template<int Degree>
Polynomial< Degree+1 > pcl::poisson::Polynomial< Degree >::integral ( void  ) const

Definition at line 74 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ isZero()

template<int Degree>
int pcl::poisson::Polynomial< Degree >::isZero ( void  ) const

Definition at line 114 of file polynomial.hpp.

◆ Negate()

template<int Degree>
void pcl::poisson::Polynomial< Degree >::Negate ( const Polynomial< Degree > &  in,
Polynomial< Degree > &  out 
)
static

Definition at line 170 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator!=()

template<int Degree>
int pcl::poisson::Polynomial< Degree >::operator!= ( const Polynomial< Degree > &  p) const

Definition at line 109 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator()() [1/4]

template<int Degree>
double pcl::poisson::Polynomial< Degree >::operator() ( double  t) const

Definition at line 84 of file polynomial.hpp.

◆ operator()() [2/4]

double pcl::poisson::Polynomial< 0 >::operator() ( double  t) const
inline

Definition at line 80 of file polynomial.hpp.

◆ operator()() [3/4]

double pcl::poisson::Polynomial< 1 >::operator() ( double  t) const
inline

Definition at line 81 of file polynomial.hpp.

◆ operator()() [4/4]

double pcl::poisson::Polynomial< 2 >::operator() ( double  t) const
inline

Definition at line 82 of file polynomial.hpp.

◆ operator*() [1/2]

template<int Degree>
template<int Degree2>
Polynomial< Degree+Degree2 > pcl::poisson::Polynomial< Degree >::operator* ( const Polynomial< Degree2 > &  p) const

Definition at line 183 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator*() [2/2]

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::operator* ( double  s) const

Definition at line 228 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator*=()

template<int Degree>
Polynomial< Degree > & pcl::poisson::Polynomial< Degree >::operator*= ( double  s)

Definition at line 202 of file polynomial.hpp.

◆ operator+() [1/2]

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::operator+ ( const Polynomial< Degree > &  p) const

Definition at line 137 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator+() [2/2]

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::operator+ ( double  s) const

Definition at line 214 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator+=() [1/2]

template<int Degree>
Polynomial< Degree > & pcl::poisson::Polynomial< Degree >::operator+= ( const Polynomial< Degree > &  p)

Definition at line 127 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator+=() [2/2]

template<int Degree>
Polynomial< Degree > & pcl::poisson::Polynomial< Degree >::operator+= ( double  s)

Definition at line 190 of file polynomial.hpp.

◆ operator-() [1/3]

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::operator- ( const Polynomial< Degree > &  p) const

Definition at line 143 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator-() [2/3]

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::operator- ( double  s) const

Definition at line 221 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator-() [3/3]

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::operator- ( void  ) const

Definition at line 176 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator-=() [1/2]

template<int Degree>
Polynomial< Degree > & pcl::poisson::Polynomial< Degree >::operator-= ( const Polynomial< Degree > &  p)

Definition at line 132 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator-=() [2/2]

template<int Degree>
Polynomial< Degree > & pcl::poisson::Polynomial< Degree >::operator-= ( double  s)

Definition at line 196 of file polynomial.hpp.

◆ operator/()

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::operator/ ( double  s) const

Definition at line 235 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator/=()

template<int Degree>
Polynomial< Degree > & pcl::poisson::Polynomial< Degree >::operator/= ( double  s)

Definition at line 208 of file polynomial.hpp.

◆ operator=() [1/2]

template<int Degree>
template<int Degree2>
Polynomial& pcl::poisson::Polynomial< Degree >::operator= ( const Polynomial< Degree2 > &  p)

◆ operator=() [2/2]

template<int Degree>
template<int Degree2>
Polynomial<Degree>& pcl::poisson::Polynomial< Degree >::operator= ( const Polynomial< Degree2 > &  p)

Definition at line 59 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ operator==()

template<int Degree>
int pcl::poisson::Polynomial< Degree >::operator== ( const Polynomial< Degree > &  p) const

Definition at line 104 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ printnl()

template<int Degree>
void pcl::poisson::Polynomial< Degree >::printnl ( void  ) const

Definition at line 267 of file polynomial.hpp.

Referenced by pcl::poisson::PPolynomial< Degree >::printnl().

◆ Scale()

template<int Degree>
void pcl::poisson::Polynomial< Degree >::Scale ( const Polynomial< Degree > &  p,
double  w,
Polynomial< Degree > &  q 
)
static

Definition at line 149 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ scale()

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::scale ( double  s) const

Definition at line 242 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

◆ setZero()

template<int Degree>
void pcl::poisson::Polynomial< Degree >::setZero ( void  )

Definition at line 119 of file polynomial.hpp.

Referenced by pcl::poisson::PPolynomial< Degree >::getSolutions().

◆ shift()

template<int Degree>
Polynomial< Degree > pcl::poisson::Polynomial< Degree >::shift ( double  t) const

◆ Subtract()

template<int Degree>
void pcl::poisson::Polynomial< Degree >::Subtract ( const Polynomial< Degree > &  p1,
const Polynomial< Degree > &  p2,
Polynomial< Degree > &  q 
)
static

Definition at line 166 of file polynomial.hpp.

References pcl::poisson::Polynomial< Degree >::coefficients.

Member Data Documentation

◆ coefficients

template<int Degree>
double pcl::poisson::Polynomial< Degree >::coefficients[Degree+1]

The documentation for this class was generated from the following files: