Public Types | |
enum | Possibilities { no_refinement = 0, isotropic_refinement = static_cast<unsigned char>(-1) } |
A class that provides possible choices for isotropic and anisotropic refinement flags in the current space dimension.
This general template is unused except in some weird template constructs. Actual is made, however, of the specializations RefinementPossibilities<1>
, RefinementPossibilities<2>
, and RefinementPossibilities<3>
.
enum RefinementPossibilities::Possibilities |
Possible values for refinement cases in the current dimension.
Note the construction of the values: the lowest bit describes a cut of the x-axis, the second to lowest bit corresponds to a cut of the y-axis and the third to lowest bit corresponds to a cut of the z-axis. Thus, the following relations hold (among others):
cut_xy == cut_x | cut_y cut_xyz == cut_xy | cut_xz cut_x == cut_xy & cut_xz
Only those cuts that are reasonable in a given space dimension are offered, of course.
In addition, the tag isotropic_refinement
denotes isotropic refinement in the space dimension selected by the template argument of this class.