|
| Face (unsigned char value) |
| Construct a new Face object. More...
|
|
| Face () |
| Construct a new Face object with a null value.
|
|
size_t | getIndex () const |
| Get the index for this Face. More...
|
|
template<int N = 0> |
auto | getAxisIndex () const -> typename std::enable_if< D<=3 &&D >=1 &&M==D - 1 &&N==N, size_t >::type |
| Get the axis index of this side.
|
|
template<int N = 0> |
auto | isLowerOnAxis () const -> typename std::enable_if< D<=3 &&D >=1 &&M==D - 1 &&N==N, bool >::type |
| Return if this side is lower on it's axis.
|
|
template<int N = 0> |
auto | isHigherOnAxis () const -> typename std::enable_if< D<=3 &&D >=1 &&M==D - 1 &&N==N, bool >::type |
| Return if this side is higher on it's axis.
|
|
Face< D, M > | opposite () const |
| Get the face on the opposite side of the hypercube. More...
|
|
std::array< Face< D, D - 1 >, D - M > | getSides () const |
| Get the Sides that this Face lies on. More...
|
|
bool | operator< (const Face< D, M > &other) const |
| Compare the enum indexes. More...
|
|
bool | operator== (const Face< D, M > &other) const |
| Equals operator. More...
|
|
bool | operator!= (const Face< D, M > &other) const |
| Not Equals operator. More...
|
|
|
static Face< D, M > | null () |
| null value More...
|
|
template<int N = 0> |
static auto | west () -> typename std::enable_if< D<=3 &&M==D - 1 &&N==N, Face< D, M >>::type |
| west side
|
|
template<int N = 0> |
static auto | east () -> typename std::enable_if< D<=3 &&M==D - 1 &&N==N, Face< D, M >>::type |
| east side
|
|
template<int N = 0> |
static auto | south () -> typename std::enable_if< D<=3 &&D >=2 &&M==D - 1 &&N==N, Face< D, M >>::type |
| south side
|
|
template<int N = 0> |
static auto | north () -> typename std::enable_if< D<=3 &&D >=2 &&M==D - 1 &&N==N, Face< D, M >>::type |
| north side
|
|
template<int N = 0> |
static auto | bottom () -> typename std::enable_if< D<=3 &&D >=3 &&M==D - 1 &&N==N, Face< D, M >>::type |
| bottom side
|
|
template<int N = 0> |
static auto | top () -> typename std::enable_if< D<=3 &&D >=3 &&M==D - 1 &&N==N, Face< D, M >>::type |
| top side
|
|
template<int N = 0> |
static auto | sw () -> typename std::enable_if< D==2 &&M==0 &&N |
| southwest corner
|
|
template<int N = 0> |
static auto | se () -> typename std::enable_if< D==2 &&M==0 &&N |
| southeast corner
|
|
template<int N = 0> |
static auto | nw () -> typename std::enable_if< D==2 &&M==0 &&N |
| northwest corner
|
|
template<int N = 0> |
static auto | ne () -> typename std::enable_if< D==2 &&M==0 &&N |
| northeast corner
|
|
template<int N = 0> |
static auto | bsw () -> typename std::enable_if< D==3 &&M==0 &&N |
| bottom-south-west corner
|
|
template<int N = 0> |
static auto | bse () -> typename std::enable_if< D==3 &&M==0 &&N |
| bottom-south-east corner
|
|
template<int N = 0> |
static auto | bnw () -> typename std::enable_if< D==3 &&M==0 &&N |
| bottom-north-west corner
|
|
template<int N = 0> |
static auto | bne () -> typename std::enable_if< D==3 &&M==0 &&N |
| bottom-north-east corner
|
|
template<int N = 0> |
static auto | tsw () -> typename std::enable_if< D==3 &&M==0 &&N |
| top-south-west corner
|
|
template<int N = 0> |
static auto | tse () -> typename std::enable_if< D==3 &&M==0 &&N |
| top-south-east corner
|
|
template<int N = 0> |
static auto | tnw () -> typename std::enable_if< D==3 &&M==0 &&N |
| top-north-west corner
|
|
template<int N = 0> |
static auto | tne () -> typename std::enable_if< D==3 &&M==0 &&N |
| top-north-east corner
|
|
template<int N = 0> |
static auto | bs () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| bottom-south edge
|
|
template<int N = 0> |
static auto | bn () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| bottom-north edge
|
|
template<int N = 0> |
static auto | ts () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| top-south edge
|
|
template<int N = 0> |
static auto | tn () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| top-north edge
|
|
template<int N = 0> |
static auto | bw () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| bottom-west edge
|
|
template<int N = 0> |
static auto | be () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| bottom-east edge
|
|
template<int N = 0> |
static auto | tw () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| top-west edge
|
|
template<int N = 0> |
static auto | te () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| top-east edge
|
|
template<int N = 0> |
static auto | sw () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| south-west edge
|
|
template<int N = 0> |
static auto | se () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| south-east edge
|
|
template<int N = 0> |
static auto | nw () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| north-west edge
|
|
template<int N = 0> |
static auto | ne () -> typename std::enable_if< D==3 &&M==1 &&N==N, Face< D, M >>::type |
| north-east edge
|
|
static Range | getValues () |
| Get a range of values that can be iterated over. More...
|
|
template<int D, int M>
class ThunderEgg::Face< D, M >
Enum-style class for the faces of an n-dimensional cube.
- Template Parameters
-
D | the dimension |
M | the dimensionality of the face |
For 3D, this class represents corners (M = 0
), edges (M = 1
), and faces (M = 2
).