Hermes2D
2.0
|
A parent of all refinement selectors. Abstract class. More...
#include <selector.h>
Protected Member Functions | |
Selector (int max_order=H2DRS_DEFAULT_ORDER) | |
Constructor. More... | |
virtual Selector< Scalar > * | clone ()=0 |
Cloning for paralelism. | |
virtual bool | select_refinement (Element *element, int quad_order, Solution< Scalar > *rsln, ElementToRefine &refinement)=0 |
Selects a refinement. More... | |
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. More... | |
Protected Attributes | |
const int | max_order |
bool | isAClone |
Internal. | |
Friends | |
template<typename T > | |
class | Adapt |
template<typename T > | |
class | KellyTypeAdapt |
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:
Definition at line 30 of file function.h.
|
inlineprotected |
Constructor.
[in] | max_order | A maximum order used by this selector. If it is H2DRS_DEFAULT_ORDER, a maximum supported order is used. |
Definition at line 83 of file selector.h.
|
protectedpure 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 Hermes::Hermes2D::RefinementSelectors::OptimumSelector< Scalar >, Hermes::Hermes2D::RefinementSelectors::POnlySelector< Scalar >, and Hermes::Hermes2D::RefinementSelectors::HOnlySelector< Scalar >.
Referenced by Hermes::Hermes2D::Adapt< Scalar >::fix_shared_mesh_refinements().
|
protectedpure 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 Hermes::Hermes2D::RefinementSelectors::OptimumSelector< Scalar >, Hermes::Hermes2D::RefinementSelectors::POnlySelector< Scalar >, and Hermes::Hermes2D::RefinementSelectors::HOnlySelector< Scalar >.
Referenced by Hermes::Hermes2D::Adapt< Scalar >::adapt().
|
protected |
A maximum allowed order.
Definition at line 78 of file selector.h.