Public Types | |
enum | Possibilities { no_refinement = 0, isotropic_refinement = static_cast<unsigned char>(-1) } |
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.