a48
2.0.2
|
Range Level Adaptive Policy strategy. More...
#include <adaptivepolicies.hh>
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. |
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].
Traits | template argument to define mesh traits |
Definition at line 289 of file adaptivepolicies.hh.
a48::RangeLevelAP< Traits >::RangeLevelAP | ( | mesh_type * | _m, |
float(*)(vertex_type *) | _fp, | ||
const unsigned int & | _minl, | ||
const unsigned int & | _maxl | ||
) | [inline] |
Constructor
[in] | _m | Adaptive Mesh to iterate over |
[in] | _fp | Function to select a value within the range level for a vertex |
[in] | _minl | Minimum range level to control mesh adaptation |
[in] | _maxl | Maximum range level to control mesh adaptation |
Definition at line 305 of file adaptivepolicies.hh.
void a48::RangeLevelAP< Traits >::set_min_level | ( | const unsigned int & | _minl | ) | [inline] |
Set minimum range level.
[in] | _minl | Minimum range level to set to |
Definition at line 314 of file adaptivepolicies.hh.
unsigned int a48::RangeLevelAP< Traits >::get_min_level | ( | void | ) | const [inline] |
Get minimum range level.
Definition at line 319 of file adaptivepolicies.hh.
void a48::RangeLevelAP< Traits >::set_max_level | ( | const unsigned int & | _maxl | ) | [inline] |
Set maximum range level.
[in] | _maxl | Maximum range level to set to |
Definition at line 324 of file adaptivepolicies.hh.
unsigned int a48::RangeLevelAP< Traits >::get_max_level | ( | void | ) | const [inline] |
Get maximum range level.
Definition at line 329 of file adaptivepolicies.hh.
void a48::RangeLevelAP< Traits >::inc_min_level | ( | const unsigned int & | _max = std::numeric_limits<unsigned int>::max() | ) | [inline] |
Increment minimum range level.
[in] | _max | Maximum allowed minimum range level |
Definition at line 334 of file adaptivepolicies.hh.
void a48::RangeLevelAP< Traits >::dec_min_level | ( | const unsigned int & | _min = 0 | ) | [inline] |
Decrement minimum range level.
[in] | _min | Minimum allowed minimum range level |
Definition at line 339 of file adaptivepolicies.hh.
void a48::RangeLevelAP< Traits >::inc_max_level | ( | const unsigned int & | _max = std::numeric_limits<unsigned int>::max() | ) | [inline] |
Increment maximum range level.
[in] | _max | Maximum allowed maximum range level |
Definition at line 344 of file adaptivepolicies.hh.
void a48::RangeLevelAP< Traits >::dec_max_level | ( | const unsigned int & | _min = 0 | ) | [inline] |
Decrement maximum range level.
[in] | _min | Minimum allowed maximum range level |
Definition at line 349 of file adaptivepolicies.hh.
unsigned int a48::RangeLevelAP< Traits >::target_level | ( | vertex_type * | v | ) | const [inline, protected] |
Auxiliary function to return the target level for a given vertex.
[in] | v | Vertex to check its target level |
Definition at line 357 of file adaptivepolicies.hh.
bool a48::RangeLevelAP< Traits >::needs_simplification | ( | vertex_type * | v | ) | [inline, protected, virtual] |
Verify if the vertex needs to be simplified.
[in] | v | Vertex to check if it needs simplification |
Implements a48::ContainerBasedAP< Traits >.
Definition at line 367 of file adaptivepolicies.hh.
References a48::RangeLevelAP< Traits >::target_level().
bool a48::RangeLevelAP< Traits >::needs_refinement | ( | halfedge_type * | h | ) | [inline, protected, virtual] |
Verify if the halfedge needs to be refined.
[in] | h | Halfedge to check if it needs refinement |
Implements a48::ContainerBasedAP< Traits >.
Definition at line 376 of file adaptivepolicies.hh.
References a48::RangeLevelAP< Traits >::target_level().