ViennaLS
Loading...
Searching...
No Matches
viennals::BoxDistribution< T, D > Class Template Reference

Concrete implementation of GeometricAdvectDistribution for a rectangular box distribution. More...

#include <lsGeometricAdvectDistributions.hpp>

Inheritance diagram for viennals::BoxDistribution< T, D >:
viennals::GeometricAdvectDistribution< T, D >

Public Member Functions

 BoxDistribution (const std::array< T, 3 > &halfAxes, const T delta)
 
bool isInside (const Vec3D< hrleCoordType > &initial, const Vec3D< hrleCoordType > &candidate, double eps=0.) const override
 Quick check whether a point relative to the distributions center is inside the distribution. If there is no quick check due to the complexity of the distribution, always return true or do not overload this function.
 
T getSignedDistance (const Vec3D< hrleCoordType > &initial, const Vec3D< hrleCoordType > &candidate, unsigned long) const override
 Returns the signed distance of a point relative to the distributions center. This is the signed manhatten distance to the nearest surface point.
 
std::array< hrleCoordType, 6 > getBounds () const override
 Sets bounds to the bounding box of the distribution.
 

Public Attributes

const hrleVectorType< T, 3 > posExtent
 
const T gridDelta
 

Detailed Description

template<class T, int D>
class viennals::BoxDistribution< T, D >

Concrete implementation of GeometricAdvectDistribution for a rectangular box distribution.

Constructor & Destructor Documentation

◆ BoxDistribution()

template<class T , int D>
viennals::BoxDistribution< T, D >::BoxDistribution ( const std::array< T, 3 > & halfAxes,
const T delta )
inline

Member Function Documentation

◆ getBounds()

template<class T , int D>
std::array< hrleCoordType, 6 > viennals::BoxDistribution< T, D >::getBounds ( ) const
inlineoverridevirtual

Sets bounds to the bounding box of the distribution.

Implements viennals::GeometricAdvectDistribution< T, D >.

◆ getSignedDistance()

template<class T , int D>
T viennals::BoxDistribution< T, D >::getSignedDistance ( const Vec3D< hrleCoordType > & initial,
const Vec3D< hrleCoordType > & candidate,
unsigned long initialPointId ) const
inlineoverridevirtual

Returns the signed distance of a point relative to the distributions center. This is the signed manhatten distance to the nearest surface point.

Implements viennals::GeometricAdvectDistribution< T, D >.

◆ isInside()

template<class T , int D>
bool viennals::BoxDistribution< T, D >::isInside ( const Vec3D< hrleCoordType > & initial,
const Vec3D< hrleCoordType > & candidate,
double eps = 0. ) const
inlineoverridevirtual

Quick check whether a point relative to the distributions center is inside the distribution. If there is no quick check due to the complexity of the distribution, always return true or do not overload this function.

Reimplemented from viennals::GeometricAdvectDistribution< T, D >.

Member Data Documentation

◆ gridDelta

template<class T , int D>
const T viennals::BoxDistribution< T, D >::gridDelta

◆ posExtent

template<class T , int D>
const hrleVectorType<T, 3> viennals::BoxDistribution< T, D >::posExtent

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