#include <grid_base.H>
Classes | |
| class | iterator_base_t |
| struct | key_hash_t |
| struct | key_t |
| class | tile_base_t |
Public Member Functions | |
| grid_base_t () | |
| void | lru_limit (unsigned limit_) |
| void | lru_update () |
| void | lru_flush () |
Protected Types | |
| typedef HashMap< key_t, tile_base_t *, key_hash_t > | index_t |
Protected Member Functions | |
| void | split_coord (int coord_, int &tile_coord_, int &cell_coord_) |
| virtual | ~grid_base_t () |
| void | find (iterator_base_t *iter_, int x_, int y_) |
| virtual tile_base_t * | create_tile ()=0 |
Protected Attributes | |
| index_t | m_index |
Static Protected Attributes | |
| static int const | TILE_SIZE = 32 |
Private Member Functions | |
| void | init_tile (int tx_, int ty_) |
| void | use_tile (tile_base_t *tile_) |
Private Attributes | |
| unsigned | m_lru_limit |
| unsigned | m_lru_sequence |
| std::list< tile_base_t * > | m_lru_list |
typedef HashMap<key_t, tile_base_t *, key_hash_t> cajun::grid_base_t::index_t [protected] |
| cajun::grid_base_t::grid_base_t | ( | ) | [inline] |
| grid_base_t::~grid_base_t | ( | ) | [protected, virtual] |
References m_index.
| virtual tile_base_t* cajun::grid_base_t::create_tile | ( | ) | [protected, pure virtual] |
Implemented in cajun::grid_t< CELL_t >.
Referenced by init_tile().
| void grid_base_t::find | ( | iterator_base_t * | iter_, | |
| int | x_, | |||
| int | y_ | |||
| ) | [protected] |
| void grid_base_t::init_tile | ( | int | tx_, | |
| int | ty_ | |||
| ) | [private] |
References create_tile(), dx, dy, inverse, cajun::grid_base_t::tile_base_t::m_grid, m_index, cajun::grid_base_t::tile_base_t::m_lru_iter, m_lru_list, cajun::grid_base_t::tile_base_t::m_neighbor, cajun::grid_base_t::tile_base_t::m_x, cajun::grid_base_t::tile_base_t::m_y, NEIGHBOR_DEF, and NUM_NEIGHBORS.
Referenced by find().
| void grid_base_t::lru_flush | ( | ) |
| void cajun::grid_base_t::lru_limit | ( | unsigned | limit_ | ) | [inline] |
References m_lru_limit.
| void cajun::grid_base_t::lru_update | ( | ) | [inline] |
References m_lru_sequence.
| void cajun::grid_base_t::split_coord | ( | int | coord_, | |
| int & | tile_coord_, | |||
| int & | cell_coord_ | |||
| ) | [inline, protected] |
| void cajun::grid_base_t::use_tile | ( | tile_base_t * | tile_ | ) | [inline, private] |
index_t cajun::grid_base_t::m_index [protected] |
Referenced by find(), init_tile(), lru_flush(), cajun::grid_t< CELL_t >::walk(), and ~grid_base_t().
unsigned cajun::grid_base_t::m_lru_limit [private] |
Referenced by lru_flush(), and lru_limit().
std::list<tile_base_t *> cajun::grid_base_t::m_lru_list [private] |
Referenced by init_tile(), lru_flush(), and use_tile().
unsigned cajun::grid_base_t::m_lru_sequence [private] |
Referenced by lru_flush(), lru_update(), cajun::grid_base_t::tile_base_t::lru_visited(), and use_tile().
int const cajun::grid_base_t::TILE_SIZE = 32 [static, protected] |
Referenced by cajun::grid_t< CELL_t >::tile_t::cell(), cajun::grid_base_t::iterator_base_t::is_valid(), cajun::grid_base_t::iterator_base_t::neighbor(), cajun::grid_base_t::iterator_base_t::neighbor_if_exist(), cajun::grid_base_t::iterator_base_t::normalize(), cajun::grid_base_t::iterator_base_t::normalize_if_only_exist(), split_coord(), cajun::grid_t< CELL_t >::walk(), cajun::grid_base_t::tile_base_t::x(), and cajun::grid_base_t::tile_base_t::y().
1.6.1