|
EBGeometry 1.0
|
Blurred/interpolated implicit function - can be used for smoothing. More...
#include <EBGeometry_Transform.hpp>


Public Member Functions | |
| BlurIF ()=delete | |
| Disallowed weak constructino. | |
| BlurIF (const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const T a_blurDistance, const T a_alpha=0.5) noexcept | |
| Full constructor. | |
| virtual | ~BlurIF () noexcept |
| Destructor. | |
| virtual T | value (const Vec3T< T > &a_point) const noexcept override |
| Value function. | |
Public Member Functions inherited from ImplicitFunction< T > | |
| ImplicitFunction ()=default | |
| Disallowed, use the full constructor. | |
| virtual | ~ImplicitFunction ()=default |
| Destructor (does nothing) | |
| T | operator() (const Vec3T< T > &a_point) const noexcept |
| Alternative signature for the value function. | |
| template<class BV > | |
| BV | approximateBoundingVolumeOctree (const Vec3T< T > &a_initialLowCorner, const Vec3T< T > &a_initialHighCorner, const unsigned int a_maxTreeDepth, const T &a_safety=0.0) const noexcept |
| Compute an approximation to the bounding volume for the implicit surface, using octrees. | |
Protected Attributes | |
| std::shared_ptr< ImplicitFunction< T > > | m_implicitFunction |
| Original implicit function. | |
| T | m_blurDistance |
| Blur distance. | |
| T | m_alpha |
| Alpha factor. | |
Blurred/interpolated implicit function - can be used for smoothing.
This passed the input implicit function through a trilinear filter with specified distance. We blur the function using f = alpha * f + (1-alpha)/2 * [f(x+d) + f(x-d)]
|
noexcept |
Full constructor.
| [in] | a_implicitFunction | Input implicit function |
| [in] | a_blurDistance | Blur distance |
| [in] | a_alpha | Blur factor. |