Public Types | Public Member Functions | Protected Attributes

OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange > Class Template Reference

#include <sph_kernel.h>

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

List of all members.

Public Types

typedef SmoothingKernel< TypesBase
typedef Types::real_type real_type
typedef Types::vector vector

Public Member Functions

 FixedSmoothingKernel (const real_type &radius)
virtual ~FixedSmoothingKernel ()
const real_typeradius () const
virtual real_type evaluate (const vector &r) const =0
virtual vector gradient (const vector &r) const =0
virtual real_type laplacian (const vector &r) const =0
bool checkRange (const vector &r) const

Protected Attributes

real_type m_radius
 Core smoothing kernel radius (finite support).
real_type m_radiusSqr
 Radius squared (used in quick range check).

Detailed Description

template<typename Types, bool CheckRange>
class OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >

Fixed Smoothing Kernel Base Class. This class uses a fixed support radius


Member Typedef Documentation

template<typename Types , bool CheckRange>
typedef SmoothingKernel<Types> OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::Base

Constructor & Destructor Documentation

template<typename Types , bool CheckRange>
OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::FixedSmoothingKernel ( const real_type radius  )  [inline]

Default Constructor.

template<typename Types , bool CheckRange>
virtual OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::~FixedSmoothingKernel (  )  [inline, virtual]

Deconstructor.


Member Function Documentation

template<typename Types , bool CheckRange>
bool OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::checkRange ( const vector r  )  const [inline]

Check Range.

Parameters:
r The difference vector undergoing the check.
Returns:
True if 0 <= |r| <= radius, else false.
template<typename Types , bool CheckRange>
virtual real_type OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::evaluate ( const vector r  )  const [pure virtual]

Evaluate.

Parameters:
r The difference vector (or relative position) r.
Returns:
The evaluation of the Kernel at r.
template<typename Types , bool CheckRange>
virtual vector OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::gradient ( const vector r  )  const [pure virtual]

Gradient.

Parameters:
r The difference vector (or relative position) r.
Returns:
The gradient of the Kernel at r.
template<typename Types , bool CheckRange>
virtual real_type OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::laplacian ( const vector r  )  const [pure virtual]

Laplacian.

Parameters:
r The difference vector (or relative position) r.
Returns:
The laplacian of the Kernel at r.
template<typename Types , bool CheckRange>
const real_type& OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::radius (  )  const [inline]

Radius (read only).

Returns:
The current core radius.

Member Data Documentation

template<typename Types , bool CheckRange>
real_type OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::m_radius [protected]

Core smoothing kernel radius (finite support).

template<typename Types , bool CheckRange>
real_type OpenTissue::sph::FixedSmoothingKernel< Types, CheckRange >::m_radiusSqr [protected]

Radius squared (used in quick range check).


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