1 #include "element_to_refine.h"
23 default:
throw Hermes::Exceptions::Exception(
"Invalid refinement type %d", (
int)refin_type);
return -1;
36 std::stringstream str;
37 str <<
"Unknown(" << refin_type <<
")";
60 void ElementToRefine::copy_errors(
double* dest,
const double* src)
72 for (
int i = 0; i < 5; i++)
unsigned short comp
An index of the component.
unsigned short get_num_sons() const
Returns a number of sons.
RefinementType
Possible refinements of an element.
unsigned short refinement_polynomial_order[H2D_MAX_ELEMENT_SONS]
Encoded orders of sons.
HERMES_API const std::string get_refin_str(const RefinementType refin_type)
Returns a string representation of the refinement.
ElementToRefine()
Constructor. Creates an invalid refinement.
ANISO-refienement. The element is split along the vertical axis. Quadrilaterals only.
static void copy_orders(unsigned short *dest, const unsigned short *src)
Copies array of orders.
RefinementType split
Proposed refinement. Possible values are defined in the enum RefinementType.
int id
An ID of the element.
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
HERMES_API int get_refin_sons(const RefinementType refin_type)
Returns a maximum number of sons that will be generated if a given refinement is applied.
ANISO-refienement. The element is split along the horizontal axis. Quadrilaterals only...
#define H2D_MAX_ELEMENT_SONS
Macros.
ElementToRefine & operator=(const ElementToRefine &orig)
Assignment operator.
HERMES_API bool is_refin_aniso(const RefinementType refin_type)
Retuns true if a given refinement is an ANISO-refinement.
unsigned short best_refinement_polynomial_order_type[4][H2D_MAX_ELEMENT_SONS]