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

Reduce the level set size to the specified width. This means all level set points with value <= 0.5*width are removed, reducing the memory footprint of the lsDomain. More...

#include <lsReduce.hpp>

Public Member Functions

 Reduce ()
 
 Reduce (SmartPointer< Domain< T, D > > passedlsDomain)
 
 Reduce (SmartPointer< Domain< T, D > > passedlsDomain, int passedWidth, bool passedNoNewSegment=false)
 
void setLevelSet (SmartPointer< Domain< T, D > > passedlsDomain)
 
void setWidth (int passedWidth)
 Set which level set points should be kept. All points with a level set value >0.5*width will be removed by this algorithm.
 
void setNoNewSegment (bool passedNoNewSegment)
 Set whether to segment the level set after algorithm is finished. This means points will be evenly distributed across points. Defaults to true.
 
void setUpdatePointData (bool update)
 Set whether to update the point data stored in the LS during this algorithm. Defaults to true.
 
void apply ()
 Reduces the leveleSet to the specified number of layers. The largest value in the levelset is thus width*0.5 Returns the number of added points.
 

Detailed Description

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

Reduce the level set size to the specified width. This means all level set points with value <= 0.5*width are removed, reducing the memory footprint of the lsDomain.

Constructor & Destructor Documentation

◆ Reduce() [1/3]

template<class T , int D>
viennals::Reduce< T, D >::Reduce ( )
inline

◆ Reduce() [2/3]

template<class T , int D>
viennals::Reduce< T, D >::Reduce ( SmartPointer< Domain< T, D > > passedlsDomain)
inline

◆ Reduce() [3/3]

template<class T , int D>
viennals::Reduce< T, D >::Reduce ( SmartPointer< Domain< T, D > > passedlsDomain,
int passedWidth,
bool passedNoNewSegment = false )
inline

Member Function Documentation

◆ apply()

template<class T , int D>
void viennals::Reduce< T, D >::apply ( )
inline

Reduces the leveleSet to the specified number of layers. The largest value in the levelset is thus width*0.5 Returns the number of added points.

◆ setLevelSet()

template<class T , int D>
void viennals::Reduce< T, D >::setLevelSet ( SmartPointer< Domain< T, D > > passedlsDomain)
inline

◆ setNoNewSegment()

template<class T , int D>
void viennals::Reduce< T, D >::setNoNewSegment ( bool passedNoNewSegment)
inline

Set whether to segment the level set after algorithm is finished. This means points will be evenly distributed across points. Defaults to true.

◆ setUpdatePointData()

template<class T , int D>
void viennals::Reduce< T, D >::setUpdatePointData ( bool update)
inline

Set whether to update the point data stored in the LS during this algorithm. Defaults to true.

◆ setWidth()

template<class T , int D>
void viennals::Reduce< T, D >::setWidth ( int passedWidth)
inline

Set which level set points should be kept. All points with a level set value >0.5*width will be removed by this algorithm.


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