vcg::math::Legendre< ScalarType > Class Template Reference

#include <legendre.h>

Inheritance diagram for vcg::math::Legendre< ScalarType >:
Inheritance graph
[legend]

List of all members.

Static Public Member Functions

static double AssociatedPolynomial (unsigned l, unsigned m, ScalarType cos_theta, ScalarType sin_theta)
static double AssociatedPolynomial (unsigned l, unsigned m, ScalarType x)
static double Polynomial (unsigned l, ScalarType x)

Static Protected Member Functions

static double legendre_next (unsigned l, unsigned m, ScalarType P_lm1, ScalarType P_lm2, ScalarType x)
static ScalarType legendre_next (unsigned l, ScalarType P_lm1, ScalarType P_lm2, ScalarType x)
static double legendre_P_l (unsigned l, ScalarType x)
static double legendre_P_l_m (unsigned l, unsigned m, ScalarType cos_theta, ScalarType sin_theta)
static double legendre_P_m_m (unsigned m, ScalarType sin_theta)
static double legendre_P_m_mplusone (unsigned m, ScalarType p_m_m, ScalarType x)

Detailed Description

template<typename ScalarType>
class vcg::math::Legendre< ScalarType >

Definition at line 38 of file legendre.h.


Member Function Documentation

template<typename ScalarType>
static double vcg::math::Legendre< ScalarType >::AssociatedPolynomial ( unsigned  l,
unsigned  m,
ScalarType  cos_theta,
ScalarType  sin_theta 
) [inline, static]
template<typename ScalarType>
static double vcg::math::Legendre< ScalarType >::AssociatedPolynomial ( unsigned  l,
unsigned  m,
ScalarType  x 
) [inline, static]
template<typename ScalarType>
static double vcg::math::Legendre< ScalarType >::legendre_next ( unsigned  l,
unsigned  m,
ScalarType  P_lm1,
ScalarType  P_lm2,
ScalarType  x 
) [inline, static, protected]

Associated Legendre Polynomial three term Recurrence Relation. Raises the band index.

Definition at line 54 of file legendre.h.

template<typename ScalarType>
static ScalarType vcg::math::Legendre< ScalarType >::legendre_next ( unsigned  l,
ScalarType  P_lm1,
ScalarType  P_lm2,
ScalarType  x 
) [inline, static, protected]

Legendre Polynomial three term Recurrence Relation

Definition at line 45 of file legendre.h.

template<typename ScalarType>
static double vcg::math::Legendre< ScalarType >::legendre_P_l ( unsigned  l,
ScalarType  x 
) [inline, static, protected]

Definition at line 99 of file legendre.h.

template<typename ScalarType>
static double vcg::math::Legendre< ScalarType >::legendre_P_l_m ( unsigned  l,
unsigned  m,
ScalarType  cos_theta,
ScalarType  sin_theta 
) [inline, static, protected]

Computes the Associated Legendre Polynomial for any given positive m and l, with m <= l and -1 <= x <= 1.

Definition at line 119 of file legendre.h.

template<typename ScalarType>
static double vcg::math::Legendre< ScalarType >::legendre_P_m_m ( unsigned  m,
ScalarType  sin_theta 
) [inline, static, protected]

Starting relation to compute P_m_m according to the formula:

pow(-1, m) * double_factorial(2 * m - 1) * pow(1 - x*x, abs(m)/2)

which becomes, if x = cos(theta) :

pow(-1, m) * double_factorial(2 * m - 1) * pow(sin(theta), abs(m)/2)

Definition at line 76 of file legendre.h.

template<typename ScalarType>
static double vcg::math::Legendre< ScalarType >::legendre_P_m_mplusone ( unsigned  m,
ScalarType  p_m_m,
ScalarType  x 
) [inline, static, protected]

Recurrence relation to compute P_m_(m+1) given P_m_m at the same x

Definition at line 62 of file legendre.h.

template<typename ScalarType>
static double vcg::math::Legendre< ScalarType >::Polynomial ( unsigned  l,
ScalarType  x 
) [inline, static]

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


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:23:25 2013