EBGeometry 1.0
|
Mollified implicit function. More...
#include <EBGeometry_Transform.hpp>
Public Member Functions | |
MollifyIF ()=delete | |
Disallowed weak construction. | |
MollifyIF (const std::shared_ptr< ImplicitFunction< T > > &a_implicitFunction, const std::shared_ptr< ImplicitFunction< T > > &a_mollifier, const T a_maxValue, const size_t a_numPoints) noexcept | |
Full constructor. | |
virtual | ~MollifyIF () noexcept |
Destructor. | |
virtual T | value (const Vec3T< T > &a_point) const noexcept override |
Value function. | |
![]() | |
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. | |
std::shared_ptr< ImplicitFunction< T > > | m_mollifier |
Mollifier. | |
std::vector< std::pair< Vec3T< T >, T > > | m_sampledMollifier |
Mollifier Weights. | |
|
noexcept |
Full constructor.
[in] | a_implicitFunction | Input implicit function. |
[in] | a_mollifier | Mollifier |
[in] | a_maxValue | Max/min val where mollifier is applied |
[in] | a_numPoints | Number of points to use in mollification convolution kernel. Must be >= 1. |