Maze Builder Docs 8.2.1
Loading...
Searching...
No Matches
mazes::grid_operations Class Referenceabstract

Interface for grid navigation and manipulation operations. More...

#include <grid_operations.h>

Inheritance diagram for mazes::grid_operations:
[legend]

Public Member Functions

virtual ~grid_operations ()=default
 Destroys the grid_operations object and releases any associated resources.
 
virtual std::tuple< std::uint32_t, std::uint32_t, std::uint32_t > get_dimensions () const noexcept=0
 Retrieves the dimensions as a tuple of three unsigned integers.
 
virtual std::shared_ptr< cellget_neighbor (std::shared_ptr< cell > const &c, direction dir) const noexcept=0
 Get neighbor by the cell's respective location.
 
virtual std::vector< std::shared_ptr< cell > > get_neighbors (std::shared_ptr< cell > const &c) const noexcept=0
 Get all the neighbors by the cell.
 
virtual void set_neighbor (const std::shared_ptr< cell > &c, direction dir, std::shared_ptr< cell > const &neighbor) noexcept=0
 Set neighbor for a cell in a given direction.
 
virtual std::shared_ptr< cellget_north (const std::shared_ptr< cell > &c) const noexcept=0
 
virtual std::shared_ptr< cellget_south (const std::shared_ptr< cell > &c) const noexcept=0
 
virtual std::shared_ptr< cellget_east (const std::shared_ptr< cell > &c) const noexcept=0
 
virtual std::shared_ptr< cellget_west (const std::shared_ptr< cell > &c) const noexcept=0
 
virtual std::shared_ptr< cellsearch (int index) const noexcept=0
 Search for a cell by index.
 
virtual int num_cells () const noexcept=0
 Get the count of cells in the grid.
 
virtual void clear_cells () noexcept=0
 Cleanup cells by cleaning up links within cells.
 
virtual void set_str (std::string const &str) noexcept=0
 Set a string value.
 
virtual std::string get_str () const noexcept=0
 Get a string value.
 
virtual void set_file (std::string const &f) noexcept=0
 Set the file name.
 
virtual std::string get_file () const noexcept=0
 Get the file name.
 
virtual std::vector< std::tuple< std::int32_t, std::int32_t, std::int32_t, std::int32_t > > get_vertices () const noexcept=0
 Get the vertices.
 
virtual void set_vertices (const std::vector< std::tuple< std::int32_t, std::int32_t, std::int32_t, std::int32_t > > &vertices) noexcept=0
 Set the vertices.
 
virtual std::vector< std::vector< std::uint32_t > > get_faces () const noexcept=0
 Get the faces.
 
virtual void set_faces (const std::vector< std::vector< std::uint32_t > > &faces) noexcept=0
 Set the faces.
 
virtual std::vector< std::uint8_t > get_pixels () const noexcept=0
 Get the pixel data for image generation.
 
virtual void set_pixels (const std::vector< std::uint8_t > &pixels) noexcept=0
 Set the pixel data for image generation.
 
virtual void resize (std::uint32_t rows, std::uint32_t cols, std::uint32_t levels) noexcept=0
 Resize the grid to new dimensions, clearing all existing cells and topology.
 

Static Public Member Functions

static bool is_valid_ops (const grid_operations *ops) noexcept
 Checks for nullity.
 

Detailed Description

Interface for grid navigation and manipulation operations.

Member Function Documentation

◆ clear_cells()

virtual void mazes::grid_operations::clear_cells ( )
pure virtualnoexcept

Cleanup cells by cleaning up links within cells.

Implemented in mazes::grid.

◆ get_dimensions()

virtual std::tuple< std::uint32_t, std::uint32_t, std::uint32_t > mazes::grid_operations::get_dimensions ( ) const
nodiscardpure virtualnoexcept

Retrieves the dimensions as a tuple of three unsigned integers.

Returns
A tuple containing three unsigned integers representing the dimensions.

Implemented in mazes::grid.

◆ get_faces()

virtual std::vector< std::vector< std::uint32_t > > mazes::grid_operations::get_faces ( ) const
nodiscardpure virtualnoexcept

Get the faces.

Returns
A vector of faces, where each face is a vector of vertex indices

Implemented in mazes::grid.

◆ get_file()

virtual std::string mazes::grid_operations::get_file ( ) const
nodiscardpure virtualnoexcept

Get the file name.

Returns

Implemented in mazes::grid.

◆ get_neighbor()

virtual std::shared_ptr< cell > mazes::grid_operations::get_neighbor ( std::shared_ptr< cell > const & c,
direction dir ) const
nodiscardpure virtualnoexcept

Get neighbor by the cell's respective location.

Parameters
c
dir
Returns

Implemented in mazes::grid.

◆ get_neighbors()

virtual std::vector< std::shared_ptr< cell > > mazes::grid_operations::get_neighbors ( std::shared_ptr< cell > const & c) const
nodiscardpure virtualnoexcept

Get all the neighbors by the cell.

Parameters
c
Returns

Implemented in mazes::grid.

◆ get_pixels()

virtual std::vector< std::uint8_t > mazes::grid_operations::get_pixels ( ) const
nodiscardpure virtualnoexcept

Get the pixel data for image generation.

Returns
A vector of RGBA pixel data

Implemented in mazes::grid.

◆ get_str()

virtual std::string mazes::grid_operations::get_str ( ) const
nodiscardpure virtualnoexcept

Get a string value.

Returns

Implemented in mazes::grid.

◆ get_vertices()

virtual std::vector< std::tuple< std::int32_t, std::int32_t, std::int32_t, std::int32_t > > mazes::grid_operations::get_vertices ( ) const
nodiscardpure virtualnoexcept

Get the vertices.

Returns
A vector of vertices as tuples (x, y, z, w)

Implemented in mazes::grid.

◆ is_valid_ops()

static bool mazes::grid_operations::is_valid_ops ( const grid_operations * ops)
inlinestaticnodiscardnoexcept

Checks for nullity.

Parameters
ops
Returns

◆ num_cells()

virtual int mazes::grid_operations::num_cells ( ) const
nodiscardpure virtualnoexcept

Get the count of cells in the grid.

Returns
The number of cells in the grid

Implemented in mazes::grid, and mazes::masked_grid.

◆ resize()

virtual void mazes::grid_operations::resize ( std::uint32_t rows,
std::uint32_t cols,
std::uint32_t levels )
pure virtualnoexcept

Resize the grid to new dimensions, clearing all existing cells and topology.

Parameters
rowsNew row count
colsNew column count
levelsNew level count

◆ search()

virtual std::shared_ptr< cell > mazes::grid_operations::search ( int index) const
nodiscardpure virtualnoexcept

Search for a cell by index.

Parameters
index
Returns

Implemented in mazes::grid, and mazes::masked_grid.

◆ set_faces()

virtual void mazes::grid_operations::set_faces ( const std::vector< std::vector< std::uint32_t > > & faces)
pure virtualnoexcept

Set the faces.

Parameters
facesA vector of faces, where each face is a vector of vertex indices

Implemented in mazes::grid.

◆ set_file()

virtual void mazes::grid_operations::set_file ( std::string const & f)
pure virtualnoexcept

Set the file name.

Parameters
f

Implemented in mazes::grid.

◆ set_neighbor()

virtual void mazes::grid_operations::set_neighbor ( const std::shared_ptr< cell > & c,
direction dir,
std::shared_ptr< cell > const & neighbor )
pure virtualnoexcept

Set neighbor for a cell in a given direction.

Parameters
c
dir
neighbor
Returns

Implemented in mazes::grid.

◆ set_pixels()

virtual void mazes::grid_operations::set_pixels ( const std::vector< std::uint8_t > & pixels)
pure virtualnoexcept

Set the pixel data for image generation.

Parameters
pixelsA vector of RGBA pixel data

Implemented in mazes::grid.

◆ set_str()

virtual void mazes::grid_operations::set_str ( std::string const & str)
pure virtualnoexcept

Set a string value.

Parameters
str

Implemented in mazes::grid.

◆ set_vertices()

virtual void mazes::grid_operations::set_vertices ( const std::vector< std::tuple< std::int32_t, std::int32_t, std::int32_t, std::int32_t > > & vertices)
pure virtualnoexcept

Set the vertices.

Parameters
verticesA vector of vertices as tuples (x, y, z, w)

The documentation for this class was generated from the following file: