EBGeometry  1.0
Public Member Functions | Protected Attributes | List of all members
MollifyIF< T > Class Template Reference

Mollified implicit function. More...

#include <EBGeometry_Transform.hpp>

Inheritance diagram for MollifyIF< T >:
Inheritance graph
[legend]
Collaboration diagram for MollifyIF< T >:
Collaboration graph
[legend]

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. More...
 
virtual ~MollifyIF () 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)
 
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.
 
std::shared_ptr< ImplicitFunction< T > > m_mollifier
 Mollifier.
 
std::vector< std::pair< Vec3T< T >, T > > m_sampledMollifier
 Mollifier Weights.
 

Detailed Description

template<class T>
class MollifyIF< T >

Mollified implicit function.

Constructor & Destructor Documentation

◆ MollifyIF()

template<class T >
MollifyIF< T >::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.

Parameters
[in]a_implicitFunctionInput implicit function.
[in]a_mollifierMollifier
[in]a_maxValueMax/min val where mollifier is applied
[in]a_numPointsNumber of points to use in mollification convolution kernel. Must be >= 1.

Member Function Documentation

◆ value()

template<class T >
virtual T MollifyIF< T >::value ( const Vec3T< T > &  a_point) const
overridevirtualnoexcept

Value function.

Parameters
[in]a_pointInput point

Implements ImplicitFunction< T >.


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