Maze Builder Docs 7.5.6
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< unsigned int, unsigned int, unsigned int > 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
 
virtual std::string get_str () const noexcept=0
 
virtual std::vector< std::tuple< int, int, int, int > > get_vertices () const noexcept=0
 Get the vertices for wavefront object file generation.
 
virtual void set_vertices (const std::vector< std::tuple< int, int, int, int > > &vertices) noexcept=0
 Set the vertices for wavefront object file generation.
 
virtual std::vector< std::vector< std::uint32_t > > get_faces () const noexcept=0
 Get the faces for wavefront object file generation.
 
virtual void set_faces (const std::vector< std::vector< std::uint32_t > > &faces) noexcept=0
 Set the faces for wavefront object file generation.
 

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< unsigned int, unsigned int, unsigned int > mazes::grid_operations::get_dimensions ( ) const
pure 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
pure virtualnoexcept

Get the faces for wavefront object file generation.

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

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
pure 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
pure virtualnoexcept

Get all the neighbors by the cell.

Parameters
c
Returns

Implemented in mazes::grid.

◆ get_vertices()

virtual std::vector< std::tuple< int, int, int, int > > mazes::grid_operations::get_vertices ( ) const
pure virtualnoexcept

Get the vertices for wavefront object file generation.

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

Implemented in mazes::grid.

◆ num_cells()

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

Get the count of cells in the grid.

Returns
The number of cells in the grid

Implemented in mazes::grid.

◆ search()

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

Search for a cell by index.

Parameters
index
Returns

Implemented in mazes::grid.

◆ set_faces()

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

Set the faces for wavefront object file generation.

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

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_vertices()

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

Set the vertices for wavefront object file generation.

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

Implemented in mazes::grid.


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