template class cogs::Grid
Overview
Organizational structure of values in a 2 dimensional grid. More…
#include <Grid.h> template <typename Type> class Grid { public: // construction Grid(); Grid(const cogs::Grid<Type>& source); Grid(const size_t width, const size_t height); Grid(const size_t width, const size_t height, const Type& init_value); // methods void Resize(const size_t width, const size_t height, const Type& init_value); void Resize(const size_t width, const size_t height); void Clear(); void Fill(const Type value); void Fill(const geom::URect& area, const Type value); bool IsInBounds(const size_t x, const size_t y) const; Type& At(const size_t x, const size_t y); const Type& At(const size_t x, const size_t y) const; Type& operator()(const size_t x, const size_t y); size_t GetWidth() const; size_t GetHeight() const; void FlipX(); void FlipY(); void Foreach(std::function<void(size_t x, size_t y, const Type&value)> func) const; void Foreach(std::function<void(size_t x, size_t y, Type&value)> func); };
Detailed Documentation
Organizational structure of values in a 2 dimensional grid.
Construction
Grid()
Creates grid with zero size.
Grid(const cogs::Grid<Type>& source)
Creates exact copy of provided grid.
Grid(const size_t width, const size_t height)
Creates grid with specified width and height.
Grid(const size_t width, const size_t height, const Type& init_value)
Creates grid with specified width and height and initializes elements to init_value.
Methods
void Resize(const size_t width, const size_t height, const Type& init_value)
Sets width and height of a grid, and initializes new elements to init_value.
void Resize(const size_t width, const size_t height)
Sets width and height of a grid, and initializes new elements to zeros.
void Clear()
Clears all elements and sets resolution to (0, 0).
void Fill(const Type value)
Sets all elements of grid to a defined value.
void Fill(const geom::URect& area, const Type value)
Sets specified area in grid to a defined value.
bool IsInBounds(const size_t x, const size_t y) const
Checks whether a combination of xy correspond to valid grid cell.
Type& At(const size_t x, const size_t y)
Returns a reference to the cell at position xy.
const Type& At(const size_t x, const size_t y) const
Returns a reference to the cell at position xy.
Type& operator()(const size_t x, const size_t y)
Returns a reference to the cell at position xy.
size_t GetWidth() const
Returns current width of grid.
size_t GetHeight() const
Returns current height of grid.
void FlipX()
Flips all values in x direction.
void FlipY()
Flips all values in y direction.
void Foreach(std::function<void(size_t x, size_t y, const Type&value)> func) const
Executes a specified function for every element in the grid.
void Foreach(std::function<void(size_t x, size_t y, Type&value)> func)
Executes a specified function for every element in the grid.