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

Class which creates a periodic repetition of an implicit function. More...

#include <EBGeometry_CSG.hpp>

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

Public Member Functions

 FiniteRepetitionIF ()=delete
 Disallowed - use the full constructor.
 
 FiniteRepetitionIF (const std::shared_ptr< ImplicitFunction< T >> &a_implicitFunction, const Vec3T< T > &a_period, const Vec3T< T > &a_repeatLo, const Vec3T< T > &a_repeatHi) noexcept
 Full constructor. More...
 
virtual ~FiniteRepetitionIF ()=default
 Destructor (does nothing)
 
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

Vec3T< T > m_period
 Repetition period.
 
Vec3T< T > m_repeatHi
 Number of repetition over increasing coordinate direction.
 
Vec3T< T > m_repeatLo
 Number of repetition over increasing coordinate direction.
 
std::shared_ptr< ImplicitFunction< T > > m_implicitFunction
 Underlying implicit function.
 

Detailed Description

template<class T>
class FiniteRepetitionIF< T >

Class which creates a periodic repetition of an implicit function.

The user will specify the period (i.e., spacing), and the number of repetitions along increasing and decreasing coordinate directions.

Constructor & Destructor Documentation

◆ FiniteRepetitionIF()

template<class T >
FiniteRepetitionIF< T >::FiniteRepetitionIF ( const std::shared_ptr< ImplicitFunction< T >> &  a_implicitFunction,
const Vec3T< T > &  a_period,
const Vec3T< T > &  a_repeatLo,
const Vec3T< T > &  a_repeatHi 
)
noexcept

Full constructor.

Parameters
[in]a_implicitFunctionImplicit function to be replicated
[in]a_periodRepetition period (in each coordinate direction)
[in]a_repeatLoNumber of repetitions for decreasing coordinates (should contain integers)
[in]a_repeatHiNumber of repetitions for increasing coordinates (should contain integers)

Member Function Documentation

◆ value()

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

Value function.

Parameters
[in]a_point3D point.

Implements ImplicitFunction< T >.


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