public interface HexagonalGrid
Represents a hexagonal grid. Use HexagonalGridBuilder to generate a
ready-to-use grid. This interface contains all common functionality for dealing with
Hexagons. See HexagonalGridCalculator for more advanced features.
This HexagonalGrid uses an axial (trapezoidal) coordinate system for easier
computation. This means that apart from the X axis a diagonal axis is used instead of
the vertical Y axis.
| Modifier and Type | Method and Description |
|---|---|
void |
clearSatelliteData()
Clears all satellite data attached to the
Hexagons in this grid. |
boolean |
containsAxialCoordinate(AxialCoordinate coordinate)
Tells whether the given axial coordinate is on the grid or not.
|
Optional<Hexagon> |
getByAxialCoordinate(AxialCoordinate coordinate)
Returns a
Hexagon by its axial coordinate. |
Optional<Hexagon> |
getByPixelCoordinate(double coordinateX,
double coordinateY)
Returns a
Hexagon by a pixel coordinate. |
Iterable<Hexagon> |
getHexagons()
Returns all
Hexagons contained in this grid. |
Iterable<Hexagon> |
getHexagonsByAxialRange(AxialCoordinate from,
AxialCoordinate to)
Returns all
Hexagons contained in the given axial coordinate range. |
Iterable<Hexagon> |
getHexagonsByOffsetRange(int gridXFrom,
int gridXTo,
int gridYfrom,
int gridYTo)
Returns all
Hexagons contained in the given offset coordinate range. |
Iterable<Hexagon> |
getNeighborsOf(Hexagon hexagon)
Returns all neighbors of a
Hexagon. |
Iterable<Hexagon> getHexagons()
Hexagons contained in this grid.Iterable<Hexagon> getHexagonsByAxialRange(AxialCoordinate from, AxialCoordinate to)
Hexagons contained in the given axial coordinate range.
If the range contains coordinates which are not part of the grid they will be ignored.Hexagons in the given range.Iterable<Hexagon> getHexagonsByOffsetRange(int gridXFrom, int gridXTo, int gridYfrom, int gridYTo)
Hexagons contained in the given offset coordinate range.
If the range contains coordinates which are not part of the grid they will be ignored.gridXFrom - from x inclusivegridXTo - to x inclusivegridYfrom - from z inclusivegridYTo - to z inclusiveHexagons in the given range.boolean containsAxialCoordinate(AxialCoordinate coordinate)
CoordinateConverter.Optional<Hexagon> getByAxialCoordinate(AxialCoordinate coordinate)
Hexagon by its axial coordinate.Optional<Hexagon> getByPixelCoordinate(double coordinateX, double coordinateY)
Hexagon by a pixel coordinate.
Please note that all pixel coordinates are relative to
the containing HexagonalGrid.coordinateX - pixel coordinateX coordinatecoordinateY - pixel coordinateY coordinateIterable<Hexagon> getNeighborsOf(Hexagon hexagon)
Hexagon.void clearSatelliteData()
Hexagons in this grid.Copyright © 2016. All rights reserved.