A parent of all refinement selectors. Abstract class. More...
#include <selector.h>
Inherited by RefinementSelectors::HOnlySelector, RefinementSelectors::OptimumSelector, and RefinementSelectors::POnlySelector.
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. | |
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:
| RefinementSelectors::Selector::Selector | ( | int | max_order = H2DRS_DEFAULT_ORDER |
) | [inline] |
Constructor.
| [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.
| 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.
| [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.
| [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. |
Implemented in RefinementSelectors::OptimumSelector, RefinementSelectors::HOnlySelector, and RefinementSelectors::POnlySelector.
| const int RefinementSelectors::Selector::max_order |
A maximum allowed order.
1.6.3