22 #ifndef FIFE_MODEL_GRIDS_HEXGRID_H
23 #define FIFE_MODEL_GRIDS_HEXGRID_H
33 #include "util/base/fife_stdint.h"
38 class HexGrid:
public CellGrid {
40 HexGrid(
bool allow_diagonals=
false);
43 bool isAccessible(
const ModelCoordinate& curpos,
const ModelCoordinate& target);
44 const std::string& getType()
const;
45 const std::string& getName()
const;
46 double getAdjacentCost(
const ModelCoordinate& curpos,
const ModelCoordinate& target);
47 uint32_t getCellSideCount()
const {
return 6; }
48 ExactModelCoordinate toMapCoordinates(
const ExactModelCoordinate& layer_coords);
49 ModelCoordinate toLayerCoordinates(
const ExactModelCoordinate& map_coord);
50 ExactModelCoordinate toExactLayerCoordinates(
const ExactModelCoordinate& map_coord);
51 void getVertices(std::vector<ExactModelCoordinate>& vtx,
const ModelCoordinate& cell);
55 double getXZigzagOffset(
double y);