|
|
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< cell > | get_neighbor (std::shared_ptr< cell > const &c, Direction dir) const noexcept=0 |
| | Get neighbor by the cell's respective location.
|
| virtual std::size_t | collect_neighbors (std::shared_ptr< cell > const &c, std::span< std::shared_ptr< cell >, MAX_NEIGHBORS > out) const noexcept=0 |
| | Fill a caller-provided buffer with the neighbors of a cell, avoiding allocation.
|
| std::vector< std::shared_ptr< cell > > | collect_neighbors (std::shared_ptr< cell > const &c) const noexcept |
| | Get all the neighbors by the cell.
|
| virtual std::span< const std::shared_ptr< cell > > | cells () const noexcept=0 |
| | Zero-copy view of all cells, in index order (level-major, then row, then column).
|
| 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< cell > | get_north (const std::shared_ptr< cell > &c) const noexcept=0 |
|
virtual std::shared_ptr< cell > | get_south (const std::shared_ptr< cell > &c) const noexcept=0 |
|
virtual std::shared_ptr< cell > | get_east (const std::shared_ptr< cell > &c) const noexcept=0 |
|
virtual std::shared_ptr< cell > | get_west (const std::shared_ptr< cell > &c) const noexcept=0 |
| virtual std::shared_ptr< cell > | search (int index) const noexcept=0 |
| | Search for a cell by index.
|
| virtual std::size_t | num_cells () const noexcept=0 |
| | Get the count of cells in the grid.
|
| 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.
|
Interface for grid navigation and manipulation operations.