RefinementSelectors::Selector Class Reference
[Refinement Selectors]

A parent of all refinement selectors. Abstract class. More...

#include <selector.h>

Inherited by RefinementSelectors::HOnlySelector, RefinementSelectors::OptimumSelector, and RefinementSelectors::POnlySelector.

List of all members.

Public Member Functions

 Selector (int max_order=H2DRS_DEFAULT_ORDER)
 Constructor.
virtual ~Selector ()
 Destructor.
virtual bool select_refinement (Element *element, int quad_order, Solution *rsln, ElementToRefine &refinement)=0
 Selects a refinement.
virtual void generate_shared_mesh_orders (const Element *element, const int orig_quad_order, const int refinement, int tgt_quad_orders[H2D_MAX_ELEMENT_SONS], const int *suggested_quad_orders)=0
 Generates orders of elements which will be created due to a proposed refinement in another component that shares the same a mesh.

Public Attributes

const int max_order
 A maximum allowed order.

Detailed Description

A parent of all refinement selectors. Abstract class.

All refinement selectors have to derive from this class or its children. The interface of the class provides methods for:


Constructor & Destructor Documentation

RefinementSelectors::Selector::Selector ( int  max_order = H2DRS_DEFAULT_ORDER  )  [inline]

Constructor.

Parameters:
[in] max_order A maximum order used by this selector. If it is H2DRS_DEFAULT_ORDER, a maximum supported order is used.
virtual RefinementSelectors::Selector::~Selector (  )  [inline, virtual]

Destructor.


Member Function Documentation

virtual void RefinementSelectors::Selector::generate_shared_mesh_orders ( const Element element,
const int  orig_quad_order,
const int  refinement,
int  tgt_quad_orders[H2D_MAX_ELEMENT_SONS],
const int *  suggested_quad_orders 
) [pure virtual]

Generates orders of elements which will be created due to a proposed refinement in another component that shares the same a mesh.

Parameters:
[in] element An element which is about the be refined.
[in] orig_quad_order An encoded order of the element.
[in] refinement A refinement of the element in the mesh. Possible values are defined by the enum RefinementType.
[out] tgt_quad_orders Generated encoded orders.
[in] suggested_quad_orders Suggested encoded orders. If not NULL, the method should copy them to the output. If NULL, the method have to calculate orders.

Implemented in RefinementSelectors::OptimumSelector, RefinementSelectors::HOnlySelector, and RefinementSelectors::POnlySelector.

virtual bool RefinementSelectors::Selector::select_refinement ( Element element,
int  quad_order,
Solution rsln,
ElementToRefine refinement 
) [pure virtual]

Selects a refinement.

This methods has to be implemented.

Parameters:
[in] element An element which is being refined.
[in] quad_order An encoded order of the element.
[in] rsln A reference solution which is used to select a refinement.
[out] refinement A selected refinement. It contains a valid contents if and only if the method returns true.
Returns:
True if a refinement was proposed. False if the selector is unable to select a refinement or it suggest that the element should not be refined.

Implemented in RefinementSelectors::OptimumSelector, RefinementSelectors::HOnlySelector, and RefinementSelectors::POnlySelector.


Member Data Documentation

A maximum allowed order.


The documentation for this class was generated from the following file:
Generated on Sat Jun 5 15:17:44 2010 for Hermes2D Library: Real Version by  doxygen 1.6.3