updates
This commit is contained in:
59
grid.hpp
Normal file
59
grid.hpp
Normal file
@@ -0,0 +1,59 @@
|
||||
#ifndef H_89BCEB17FBD94DE38B501C2F028FDF35
|
||||
#define H_89BCEB17FBD94DE38B501C2F028FDF35
|
||||
|
||||
#include "colors.hpp"
|
||||
|
||||
template <int Size>
|
||||
class Grid
|
||||
{
|
||||
static_assert(Size % 2 == 0);
|
||||
static constexpr int pixels = Size*Size;
|
||||
std::array<BigPixel, pixels> data;
|
||||
public:
|
||||
static constexpr std::array<int, pixels/4> quad1()
|
||||
{
|
||||
std::array<int, pixels/4> q;
|
||||
for (int i = 0; i < Size/2; i++)
|
||||
for (int j = 0; j < Size/2; j++)
|
||||
{
|
||||
const int count = i * Size/2 + j;
|
||||
q[count] = i * Size + j;
|
||||
}
|
||||
return q;
|
||||
}
|
||||
static constexpr std::array<int, pixels/4> quad2()
|
||||
{
|
||||
std::array<int, pixels/4> q;
|
||||
for (int i = 0; i < Size/2; i++)
|
||||
for (int j = 0; j < Size/2; j++)
|
||||
{
|
||||
const int count = i * Size/2 + j;
|
||||
q[count] = (Size - i - 1) * Size + j;
|
||||
}
|
||||
return q;
|
||||
}
|
||||
static constexpr std::array<int, pixels/4> quad3()
|
||||
{
|
||||
std::array<int, pixels/4> q;
|
||||
for (int i = 0; i < Size/2; i++)
|
||||
for (int j = 0; j < Size/2; j++)
|
||||
{
|
||||
const int count = i * Size/2 + j;
|
||||
q[count] = i * Size + j;
|
||||
}
|
||||
return q;
|
||||
}
|
||||
static constexpr std::array<int, pixels/4> quad4()
|
||||
{
|
||||
std::array<int, pixels/4> q;
|
||||
for (int i = 0; i < Size/2; i++)
|
||||
for (int j = 0; j < Size/2; j++)
|
||||
{
|
||||
const int count = i * Size/2 + j;
|
||||
q[count] = (Size - i - 1) * Size + (Size - j - 1);
|
||||
}
|
||||
return q;
|
||||
}
|
||||
};
|
||||
|
||||
#endif //H_89BCEB17FBD94DE38B501C2F028FDF35
|
||||
Reference in New Issue
Block a user