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. More... | |
virtual | ~BlurIF () noexcept |
Destructor. | |
virtual T | value (const Vec3T< T > &a_point) const noexcept override |
Value function. More... | |
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. More... | |
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. More... | |
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. |