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

Container-based Adaptive Policy strategy. More...

#include <adaptivepolicies.hh>

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

List of all members.

Public Member Functions

 ContainerBasedAP (mesh_type *_m=0)
void set_mesh (mesh_type *_m)
 Set adaptive mesh.
mesh_typeget_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.

Detailed Description

template<class Traits = DefaultAdaptiveTraits>
class a48::ContainerBasedAP< Traits >

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.

Template Parameters:
Traitstemplate argument to define mesh traits

Definition at line 35 of file adaptivepolicies.hh.


Constructor & Destructor Documentation

template<class Traits = DefaultAdaptiveTraits>
a48::ContainerBasedAP< Traits >::ContainerBasedAP ( mesh_type _m = 0) [inline]

Constructor

Parameters:
[in]_mAdaptive Mesh to iterate over

Definition at line 56 of file adaptivepolicies.hh.


Member Function Documentation

template<class Traits = DefaultAdaptiveTraits>
void a48::ContainerBasedAP< Traits >::set_mesh ( mesh_type _m) [inline]

Set adaptive mesh.

Parameters:
[in]_mAdaptive Mesh to iterate over

Definition at line 61 of file adaptivepolicies.hh.

template<class Traits = DefaultAdaptiveTraits>
mesh_type* a48::ContainerBasedAP< Traits >::get_mesh ( void  ) [inline]

Get adaptive mesh.

Returns:
_m Adaptive Mesh to iterate over

Definition at line 66 of file adaptivepolicies.hh.

template<class Traits = DefaultAdaptiveTraits>
virtual void a48::ContainerBasedAP< Traits >::update_simplification ( void  ) [inline, virtual]
template<class Traits = DefaultAdaptiveTraits>
virtual void a48::ContainerBasedAP< Traits >::update_refinement ( void  ) [inline, virtual]
template<class Traits = DefaultAdaptiveTraits>
virtual vertex_type* a48::ContainerBasedAP< Traits >::next_simplify_vertex ( void  ) [inline, virtual]

Next simplify vertex.

See also:
BaseAdaptivePolicy::next_simplify_vertex
Returns:
Next vertex to be simplified

Implements a48::BaseAdaptivePolicy< Traits >.

Definition at line 92 of file adaptivepolicies.hh.

template<class Traits = DefaultAdaptiveTraits>
virtual halfedge_type* a48::ContainerBasedAP< Traits >::next_refine_halfedge ( void  ) [inline, virtual]

Next refine halfedge.

See also:
BaseAdaptivePolicy::next_refine_halfedge
Returns:
Next halfedge to be refined

Implements a48::BaseAdaptivePolicy< Traits >.

Definition at line 103 of file adaptivepolicies.hh.

template<class Traits = DefaultAdaptiveTraits>
virtual void a48::ContainerBasedAP< Traits >::update_simplification ( vertex_type *  v) [inline, virtual]

Update simplification function.

See also:
BaseAdaptivePolicy::update_simplification
Parameters:
[in]vVertex weld in the simplification method

Implements a48::BaseAdaptivePolicy< Traits >.

Definition at line 114 of file adaptivepolicies.hh.

template<class Traits = DefaultAdaptiveTraits>
virtual void a48::ContainerBasedAP< Traits >::update_simplification ( halfedge_type *  h) [inline, virtual]

Update simplification function.

See also:
BaseAdaptivePolicy::update_simplification
Parameters:
[in]hBase 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().

template<class Traits = DefaultAdaptiveTraits>
virtual void a48::ContainerBasedAP< Traits >::update_refinement ( halfedge_type *  h) [inline, virtual]

Update refinement function.

See also:
BaseAdaptivePolicy::update_refinement
Parameters:
[in]hHalfedge split in the refinement method

Implements a48::BaseAdaptivePolicy< Traits >.

Definition at line 143 of file adaptivepolicies.hh.

template<class Traits = DefaultAdaptiveTraits>
virtual void a48::ContainerBasedAP< Traits >::update_refinement ( vertex_type *  v) [inline, virtual]

Update refinement function.

See also:
BaseAdaptivePolicy::update_refinement
Parameters:
[in]vVertex 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().

template<class Traits = DefaultAdaptiveTraits>
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.

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

Implemented in a48::RangeLevelAP< Traits >, and a48::UniformLevelAP< Traits >.

template<class Traits = DefaultAdaptiveTraits>
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.

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

Implemented in a48::RangeLevelAP< Traits >, and a48::UniformLevelAP< Traits >.


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