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

#include <lsGeometricAdvectDistributions.hpp>

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

Public Member Functions

 CustomSphereDistribution (const std::vector< T > &radii)
T getSignedDistance (const Vec3D< viennahrle::CoordType > &initial, const Vec3D< viennahrle::CoordType > &candidate, unsigned long pointId) 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< viennahrle::CoordType, 6 > getBounds () const override
 Sets bounds to the bounding box of the distribution.
bool useSurfacePointId () const override
void prepare (SmartPointer< Domain< T, D > > domain) override
virtual bool isInside (const Vec3D< viennahrle::CoordType > &initial, const Vec3D< viennahrle::CoordType > &candidate, double eps) const
 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.
virtual void finalize ()

Constructor & Destructor Documentation

◆ CustomSphereDistribution()

template<class T, int D>
viennals::CustomSphereDistribution< T, D >::CustomSphereDistribution ( const std::vector< T > & radii)
inline

Member Function Documentation

◆ finalize()

template<class T, int D>
virtual void viennals::GeometricAdvectDistribution< T, D >::finalize ( )
inlinevirtualinherited

◆ getBounds()

template<class T, int D>
std::array< viennahrle::CoordType, 6 > viennals::CustomSphereDistribution< 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::CustomSphereDistribution< T, D >::getSignedDistance ( const Vec3D< viennahrle::CoordType > & initial,
const Vec3D< viennahrle::CoordType > & candidate,
unsigned long pointId ) 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>
virtual bool viennals::GeometricAdvectDistribution< T, D >::isInside ( const Vec3D< viennahrle::CoordType > & initial,
const Vec3D< viennahrle::CoordType > & candidate,
double eps ) const
inlinevirtualinherited

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 in viennals::BoxDistribution< T, D >, and viennals::SphereDistribution< T, D >.

◆ prepare()

template<class T, int D>
void viennals::CustomSphereDistribution< T, D >::prepare ( SmartPointer< Domain< T, D > > domain)
inlineoverridevirtual

◆ useSurfacePointId()

template<class T, int D>
bool viennals::CustomSphereDistribution< T, D >::useSurfacePointId ( ) const
inlineoverridevirtual

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