ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
PPolynomial< Degree > Class Template Reference

#include <PPolynomial.h>

Inheritance diagram for PPolynomial< Degree >:

Public Member Functions

 PPolynomial (void)
 
 PPolynomial (const PPolynomial< Degree > &p)
 
 ~PPolynomial (void)
 
PPolynomialoperator= (const PPolynomial &p)
 
int size (void) const
 
void set (size_t size)
 
void set (StartingPolynomial< Degree > *sps, int count)
 
void reset (size_t newSize)
 
PPolynomialcompress (double delta=0.)
 
double operator() (double t) const
 
double integral (double tMin, double tMax) const
 
double Integral (void) const
 
template<int Degree2>
PPolynomial< Degree > & operator= (const PPolynomial< Degree2 > &p)
 
PPolynomial operator+ (const PPolynomial &p) const
 
PPolynomial operator- (const PPolynomial &p) const
 
template<int Degree2>
PPolynomial< Degree+Degree2 > operator* (const Polynomial< Degree2 > &p) const
 
template<int Degree2>
PPolynomial< Degree+Degree2 > operator* (const PPolynomial< Degree2 > &p) const
 
PPolynomialoperator+= (double s)
 
PPolynomialoperator-= (double s)
 
PPolynomialoperator*= (double s)
 
PPolynomialoperator/= (double s)
 
PPolynomial operator+ (double s) const
 
PPolynomial operator- (double s) const
 
PPolynomial operator* (double s) const
 
PPolynomial operator/ (double s) const
 
PPolynomialaddScaled (const PPolynomial &poly, double scale)
 
PPolynomial scale (double s) const
 
PPolynomial shift (double t) const
 
PPolynomial reflect (double r=0.) const
 
PPolynomial< Degree-1 > derivative (void) const
 
PPolynomial< Degree+1 > integral (void) const
 
void getSolutions (double c, std::vector< double > &roots, double EPS, double min=-DBL_MAX, double max=DBL_MAX) const
 
void printnl (void) const
 
PPolynomial< Degree+1 > MovingAverage (double radius) const
 
void write (FILE *fp, int samples, double min, double max) const
 

Static Public Member Functions

static PPolynomial BSpline (double radius=0.5)
 

Public Attributes

size_t polyCount
 
StartingPolynomial< Degree > * polys
 

Detailed Description

template<int Degree>
class PPolynomial< Degree >

Definition at line 51 of file PPolynomial.h.

Constructor & Destructor Documentation

◆ PPolynomial() [1/2]

template<int Degree>
PPolynomial< Degree >::PPolynomial ( void  )

◆ PPolynomial() [2/2]

template<int Degree>
PPolynomial< Degree >::PPolynomial ( const PPolynomial< Degree > &  p)

◆ ~PPolynomial()

template<int Degree>
PPolynomial< Degree >::~PPolynomial ( void  )

Member Function Documentation

◆ addScaled()

template<int Degree>
PPolynomial& PPolynomial< Degree >::addScaled ( const PPolynomial< Degree > &  poly,
double  scale 
)

◆ BSpline()

template<int Degree>
static PPolynomial PPolynomial< Degree >::BSpline ( double  radius = 0.5)
static

◆ compress()

template<int Degree>
PPolynomial& PPolynomial< Degree >::compress ( double  delta = 0.)

◆ derivative()

template<int Degree>
PPolynomial< Degree-1 > PPolynomial< Degree >::derivative ( void  ) const

◆ getSolutions()

template<int Degree>
void PPolynomial< Degree >::getSolutions ( double  c,
std::vector< double > &  roots,
double  EPS,
double  min = -DBL_MAX,
double  max = DBL_MAX 
) const

◆ integral() [1/2]

template<int Degree>
double PPolynomial< Degree >::integral ( double  tMin,
double  tMax 
) const

◆ Integral()

template<int Degree>
double PPolynomial< Degree >::Integral ( void  ) const

◆ integral() [2/2]

template<int Degree>
PPolynomial< Degree+1 > PPolynomial< Degree >::integral ( void  ) const

◆ MovingAverage()

template<int Degree>
PPolynomial< Degree+1 > PPolynomial< Degree >::MovingAverage ( double  radius) const

◆ operator()()

template<int Degree>
double PPolynomial< Degree >::operator() ( double  t) const

◆ operator*() [1/3]

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

◆ operator*() [2/3]

template<int Degree>
template<int Degree2>
PPolynomial< Degree+Degree2 > PPolynomial< Degree >::operator* ( const PPolynomial< Degree2 > &  p) const

◆ operator*() [3/3]

template<int Degree>
PPolynomial PPolynomial< Degree >::operator* ( double  s) const

◆ operator*=()

template<int Degree>
PPolynomial& PPolynomial< Degree >::operator*= ( double  s)

◆ operator+() [1/2]

template<int Degree>
PPolynomial PPolynomial< Degree >::operator+ ( const PPolynomial< Degree > &  p) const

◆ operator+() [2/2]

template<int Degree>
PPolynomial PPolynomial< Degree >::operator+ ( double  s) const

◆ operator+=()

template<int Degree>
PPolynomial& PPolynomial< Degree >::operator+= ( double  s)

◆ operator-() [1/2]

template<int Degree>
PPolynomial PPolynomial< Degree >::operator- ( const PPolynomial< Degree > &  p) const

◆ operator-() [2/2]

template<int Degree>
PPolynomial PPolynomial< Degree >::operator- ( double  s) const

◆ operator-=()

template<int Degree>
PPolynomial& PPolynomial< Degree >::operator-= ( double  s)

◆ operator/()

template<int Degree>
PPolynomial PPolynomial< Degree >::operator/ ( double  s) const

◆ operator/=()

template<int Degree>
PPolynomial& PPolynomial< Degree >::operator/= ( double  s)

◆ operator=() [1/2]

template<int Degree>
PPolynomial& PPolynomial< Degree >::operator= ( const PPolynomial< Degree > &  p)

◆ operator=() [2/2]

template<int Degree>
template<int Degree2>
PPolynomial< Degree >& PPolynomial< Degree >::operator= ( const PPolynomial< Degree2 > &  p)

◆ printnl()

template<int Degree>
void PPolynomial< Degree >::printnl ( void  ) const

◆ reflect()

template<int Degree>
PPolynomial PPolynomial< Degree >::reflect ( double  r = 0.) const

◆ reset()

template<int Degree>
void PPolynomial< Degree >::reset ( size_t  newSize)

◆ scale()

template<int Degree>
PPolynomial PPolynomial< Degree >::scale ( double  s) const

◆ set() [1/2]

template<int Degree>
void PPolynomial< Degree >::set ( size_t  size)

◆ set() [2/2]

template<int Degree>
void PPolynomial< Degree >::set ( StartingPolynomial< Degree > *  sps,
int  count 
)

◆ shift()

template<int Degree>
PPolynomial PPolynomial< Degree >::shift ( double  t) const

◆ size()

template<int Degree>
int PPolynomial< Degree >::size ( void  ) const

◆ write()

template<int Degree>
void PPolynomial< Degree >::write ( FILE *  fp,
int  samples,
double  min,
double  max 
) const

Member Data Documentation

◆ polyCount

template<int Degree>
size_t PPolynomial< Degree >::polyCount

Definition at line 54 of file PPolynomial.h.

◆ polys

template<int Degree>
StartingPolynomial< Degree >* PPolynomial< Degree >::polys

Definition at line 55 of file PPolynomial.h.


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