a48
2.0.2
|
Container-based Adaptive Policy strategy. More...
#include <adaptivepolicies.hh>
Public Member Functions | |
ContainerBasedAP (mesh_type *_m=0) | |
void | set_mesh (mesh_type *_m) |
Set adaptive mesh. | |
mesh_type * | get_mesh (void) |
Get adaptive mesh. | |
virtual void | update_simplification (void) |
Update simplification procedure. | |
virtual void | update_refinement (void) |
Update refinement procedure. | |
virtual vertex_type * | next_simplify_vertex (void) |
Next simplify vertex. | |
virtual halfedge_type * | next_refine_halfedge (void) |
Next refine halfedge. | |
virtual void | update_simplification (vertex_type *v) |
Update simplification function. | |
virtual void | update_simplification (halfedge_type *h) |
Update simplification function. | |
virtual void | update_refinement (halfedge_type *h) |
Update refinement function. | |
virtual void | update_refinement (vertex_type *v) |
Update refinement function. | |
Protected Member Functions | |
virtual bool | needs_simplification (vertex_type *v)=0 |
Verify if the vertex needs to be simplified. | |
virtual bool | needs_refinement (halfedge_type *h)=0 |
Verify if the halfedge needs to be refined. |
Container-based Adaptive Policy strategy.
This class defines an adaptive policy using containers to store vertices and halfedge pointers. The containers present a list a set of vertices to be simplified and halfedges to be refined based on verification abstract methods: needs_simplification and needs_refinement.
Traits | template argument to define mesh traits |
Definition at line 35 of file adaptivepolicies.hh.
a48::ContainerBasedAP< Traits >::ContainerBasedAP | ( | mesh_type * | _m = 0 | ) | [inline] |
Constructor
[in] | _m | Adaptive Mesh to iterate over |
Definition at line 56 of file adaptivepolicies.hh.
void a48::ContainerBasedAP< Traits >::set_mesh | ( | mesh_type * | _m | ) | [inline] |
Set adaptive mesh.
[in] | _m | Adaptive Mesh to iterate over |
Definition at line 61 of file adaptivepolicies.hh.
mesh_type* a48::ContainerBasedAP< Traits >::get_mesh | ( | void | ) | [inline] |
Get adaptive mesh.
Definition at line 66 of file adaptivepolicies.hh.
virtual void a48::ContainerBasedAP< Traits >::update_simplification | ( | void | ) | [inline, virtual] |
Update simplification procedure.
Implements a48::BaseAdaptivePolicy< Traits >.
Definition at line 71 of file adaptivepolicies.hh.
References a48::ContainerBasedAP< Traits >::needs_simplification(), a48::MeshT< Traits >::vertices_begin(), and a48::MeshT< Traits >::vertices_end().
virtual void a48::ContainerBasedAP< Traits >::update_refinement | ( | void | ) | [inline, virtual] |
Update refinement procedure.
Implements a48::BaseAdaptivePolicy< Traits >.
Definition at line 81 of file adaptivepolicies.hh.
References a48::MeshT< Traits >::halfedges_begin(), a48::MeshT< Traits >::halfedges_end(), and a48::ContainerBasedAP< Traits >::needs_refinement().
virtual vertex_type* a48::ContainerBasedAP< Traits >::next_simplify_vertex | ( | void | ) | [inline, virtual] |
Next simplify vertex.
Implements a48::BaseAdaptivePolicy< Traits >.
Definition at line 92 of file adaptivepolicies.hh.
virtual halfedge_type* a48::ContainerBasedAP< Traits >::next_refine_halfedge | ( | void | ) | [inline, virtual] |
Next refine halfedge.
Implements a48::BaseAdaptivePolicy< Traits >.
Definition at line 103 of file adaptivepolicies.hh.
virtual void a48::ContainerBasedAP< Traits >::update_simplification | ( | vertex_type * | v | ) | [inline, virtual] |
Update simplification function.
[in] | v | Vertex weld in the simplification method |
Implements a48::BaseAdaptivePolicy< Traits >.
Definition at line 114 of file adaptivepolicies.hh.
virtual void a48::ContainerBasedAP< Traits >::update_simplification | ( | halfedge_type * | h | ) | [inline, virtual] |
Update simplification function.
[in] | h | Base halfedge while welding the vertex |
Implements a48::BaseAdaptivePolicy< Traits >.
Definition at line 127 of file adaptivepolicies.hh.
References a48::ContainerBasedAP< Traits >::needs_refinement(), and a48::ContainerBasedAP< Traits >::needs_simplification().
virtual void a48::ContainerBasedAP< Traits >::update_refinement | ( | halfedge_type * | h | ) | [inline, virtual] |
Update refinement function.
[in] | h | Halfedge split in the refinement method |
Implements a48::BaseAdaptivePolicy< Traits >.
Definition at line 143 of file adaptivepolicies.hh.
virtual void a48::ContainerBasedAP< Traits >::update_refinement | ( | vertex_type * | v | ) | [inline, virtual] |
Update refinement function.
[in] | v | Vertex created while splitting the halfedge |
Implements a48::BaseAdaptivePolicy< Traits >.
Definition at line 154 of file adaptivepolicies.hh.
References a48::ContainerBasedAP< Traits >::needs_refinement(), and a48::ContainerBasedAP< Traits >::needs_simplification().
virtual bool a48::ContainerBasedAP< Traits >::needs_simplification | ( | vertex_type * | v | ) | [protected, pure virtual] |
Verify if the vertex needs to be simplified.
When deriving a class from this Container-based adaptive policy use this function to specify when a vertex should be simplified.
[in] | v | Vertex to check if it needs simplification |
Implemented in a48::RangeLevelAP< Traits >, and a48::UniformLevelAP< Traits >.
virtual bool a48::ContainerBasedAP< Traits >::needs_refinement | ( | halfedge_type * | h | ) | [protected, pure virtual] |
Verify if the halfedge needs to be refined.
When deriving a class from this Container-based adaptive policy use this function to specify when a halfedge should be refined.
[in] | h | Halfedge to check if it needs refinement |
Implemented in a48::RangeLevelAP< Traits >, and a48::UniformLevelAP< Traits >.