a48  2.0.2
a48::RangeLevelAP< Traits > Class Template Reference

Range Level Adaptive Policy strategy. More...

#include <adaptivepolicies.hh>

Inheritance diagram for a48::RangeLevelAP< Traits >:
a48::ContainerBasedAP< Traits > a48::BaseAdaptivePolicy< Traits >

List of all members.

Public Member Functions

 RangeLevelAP (mesh_type *_m, float(*_fp)(vertex_type *), const unsigned int &_minl, const unsigned int &_maxl)
void set_min_level (const unsigned int &_minl)
 Set minimum range level.
unsigned int get_min_level (void) const
 Get minimum range level.
void set_max_level (const unsigned int &_maxl)
 Set maximum range level.
unsigned int get_max_level (void) const
 Get maximum range level.
void inc_min_level (const unsigned int &_max=std::numeric_limits< unsigned int >::max())
 Increment minimum range level.
void dec_min_level (const unsigned int &_min=0)
 Decrement minimum range level.
void inc_max_level (const unsigned int &_max=std::numeric_limits< unsigned int >::max())
 Increment maximum range level.
void dec_max_level (const unsigned int &_min=0)
 Decrement maximum range level.

Protected Member Functions

unsigned int target_level (vertex_type *v) const
 Auxiliary function to return the target level for a given vertex.
bool needs_simplification (vertex_type *v)
 Verify if the vertex needs to be simplified.
bool needs_refinement (halfedge_type *h)
 Verify if the halfedge needs to be refined.

Detailed Description

template<class Traits>
class a48::RangeLevelAP< Traits >

Range Level Adaptive Policy strategy.

This class defines a per-vertex adaptation strategy where the target level is selected using a function: float fp(vertex_type*) returning a parameter t in [0, 1] for a given vertex; the value t selects one level within the range: [min_level, max_level].

Template Parameters:
Traitstemplate argument to define mesh traits
Examples:
example_gl.cc.

Definition at line 289 of file adaptivepolicies.hh.


Constructor & Destructor Documentation

template<class Traits>
a48::RangeLevelAP< Traits >::RangeLevelAP ( mesh_type _m,
float(*)(vertex_type *)  _fp,
const unsigned int &  _minl,
const unsigned int &  _maxl 
) [inline]

Constructor

Parameters:
[in]_mAdaptive Mesh to iterate over
[in]_fpFunction to select a value within the range level for a vertex
[in]_minlMinimum range level to control mesh adaptation
[in]_maxlMaximum range level to control mesh adaptation

Definition at line 305 of file adaptivepolicies.hh.


Member Function Documentation

template<class Traits>
void a48::RangeLevelAP< Traits >::set_min_level ( const unsigned int &  _minl) [inline]

Set minimum range level.

Parameters:
[in]_minlMinimum range level to set to

Definition at line 314 of file adaptivepolicies.hh.

template<class Traits>
unsigned int a48::RangeLevelAP< Traits >::get_min_level ( void  ) const [inline]

Get minimum range level.

Returns:
Minimum range level

Definition at line 319 of file adaptivepolicies.hh.

template<class Traits>
void a48::RangeLevelAP< Traits >::set_max_level ( const unsigned int &  _maxl) [inline]

Set maximum range level.

Parameters:
[in]_maxlMaximum range level to set to

Definition at line 324 of file adaptivepolicies.hh.

template<class Traits>
unsigned int a48::RangeLevelAP< Traits >::get_max_level ( void  ) const [inline]

Get maximum range level.

Returns:
Maximum range level

Definition at line 329 of file adaptivepolicies.hh.

template<class Traits>
void a48::RangeLevelAP< Traits >::inc_min_level ( const unsigned int &  _max = std::numeric_limits<unsigned int>::max()) [inline]

Increment minimum range level.

Parameters:
[in]_maxMaximum allowed minimum range level

Definition at line 334 of file adaptivepolicies.hh.

template<class Traits>
void a48::RangeLevelAP< Traits >::dec_min_level ( const unsigned int &  _min = 0) [inline]

Decrement minimum range level.

Parameters:
[in]_minMinimum allowed minimum range level

Definition at line 339 of file adaptivepolicies.hh.

template<class Traits>
void a48::RangeLevelAP< Traits >::inc_max_level ( const unsigned int &  _max = std::numeric_limits<unsigned int>::max()) [inline]

Increment maximum range level.

Parameters:
[in]_maxMaximum allowed maximum range level

Definition at line 344 of file adaptivepolicies.hh.

template<class Traits>
void a48::RangeLevelAP< Traits >::dec_max_level ( const unsigned int &  _min = 0) [inline]

Decrement maximum range level.

Parameters:
[in]_minMinimum allowed maximum range level

Definition at line 349 of file adaptivepolicies.hh.

template<class Traits>
unsigned int a48::RangeLevelAP< Traits >::target_level ( vertex_type *  v) const [inline, protected]

Auxiliary function to return the target level for a given vertex.

Parameters:
[in]vVertex to check its target level
Returns:
Target level of the given vertex

Definition at line 357 of file adaptivepolicies.hh.

template<class Traits>
bool a48::RangeLevelAP< Traits >::needs_simplification ( vertex_type *  v) [inline, protected, virtual]

Verify if the vertex needs to be simplified.

See also:
ContainerBasedAP::needs_simplification
Parameters:
[in]vVertex to check if it needs simplification
Returns:
True if the vertex needs simplification

Implements a48::ContainerBasedAP< Traits >.

Definition at line 367 of file adaptivepolicies.hh.

References a48::RangeLevelAP< Traits >::target_level().

template<class Traits>
bool a48::RangeLevelAP< Traits >::needs_refinement ( halfedge_type *  h) [inline, protected, virtual]

Verify if the halfedge needs to be refined.

See also:
ContainerBasedAP::needs_refinement
Parameters:
[in]hHalfedge to check if it needs refinement
Returns:
True if the halfedge needs refinement

Implements a48::ContainerBasedAP< Traits >.

Definition at line 376 of file adaptivepolicies.hh.

References a48::RangeLevelAP< Traits >::target_level().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Typedefs