Public Types | Public Member Functions | Protected Attributes

OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange > Class Template Reference

#include <sph_gaussian.h>

Inheritance diagram for OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >:
OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >

List of all members.

Public Types

typedef FixedSmoothingKernel
< Types, CheckRange > 
base_type
typedef Types::real_type real_type
typedef Types::vector vector

Public Member Functions

 WFixedGaussian ()
 ~WFixedGaussian ()
real_type evaluate (const vector &r) const
vector gradient (const vector &r) const
real_type laplacian (const vector &r) const

Protected Attributes

real_type m_k
 Magic Gaussian constant for eval.
real_type m_l
 Magic Gaussian constant for gradient.
real_type m_m
 Magic Gaussian constant for laplacian.
real_type m_inv_2hSqr
 Inverse 2 radius squared.
real_type m_3hSqr
 3 radius squared.

Detailed Description

template<typename Types, struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
class OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >

1 |r|^2 Gaussian : W(r,h) = -------- exp(- -----) <Monaghan 1992> h pi^0.5 h^2

1 |r|^2 Isotropic Gaussian : W(r,h) = -------------- exp(- -----) <Erleben, et al. 2005> (2 pi h^2)^1.5 2 h^2 W_gaussian Smoothing Kernel (fixed kernel support).


Member Typedef Documentation

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
typedef FixedSmoothingKernel<Types, CheckRange> OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::base_type
template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
typedef Types::real_type OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::real_type
template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
typedef Types::vector OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::vector

Constructor & Destructor Documentation

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::WFixedGaussian (  )  [inline]

Default Constructor.

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::~WFixedGaussian (  )  [inline]

Deconstructor.


Member Function Documentation

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
real_type OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::evaluate ( const vector r  )  const [inline]

W(r,h) = (1/(2 pi h^2)^1.5)exp(-r*r/(2 h^2))

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
vector OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::gradient ( const vector r  )  const [inline]

grad(W(r,h)) = r(sqrt(2)/(4 pi h^4 sqrt(pi h^2)))exp(-r*r/(2 h^2))

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
real_type OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::laplacian ( const vector r  )  const [inline]

laplacian(W(r,h)) = (sqrt(2)/(4 pi h^6 sqrt(pi h^2)))exp(-r*r/(2 h^2))(r*r-3h^2)


Member Data Documentation

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
real_type OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::m_3hSqr [protected]

3 radius squared.

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
real_type OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::m_inv_2hSqr [protected]

Inverse 2 radius squared.

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
real_type OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::m_k [protected]

Magic Gaussian constant for eval.

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
real_type OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::m_l [protected]

Magic Gaussian constant for gradient.

template<typename Types , struct OpenTissue::utility::RuntimeType< typename Types::real_type > * Radius, bool CheckRange>
real_type OpenTissue::sph::WFixedGaussian< Types, Radius, CheckRange >::m_m [protected]

Magic Gaussian constant for laplacian.


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