public final class HexagonalGridImpl extends Object implements HexagonalGrid
| Constructor and Description |
|---|
HexagonalGridImpl(HexagonalGridBuilder builder) |
| Modifier and Type | Method and Description |
|---|---|
Hexagon |
addHexagon(AxialCoordinate coordinate)
Adds a new
Hexagon at the given coordinate. |
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 x,
double y)
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. |
Hexagon |
removeHexagon(AxialCoordinate coordinate)
Removes the
Hexagon at the given coordinate. |
public HexagonalGridImpl(HexagonalGridBuilder builder)
public Iterable<Hexagon> getHexagons()
HexagonalGridHexagons contained in this grid.getHexagons in interface HexagonalGridpublic Iterable<Hexagon> getHexagonsByAxialRange(AxialCoordinate from, AxialCoordinate to)
HexagonalGridHexagons contained in the given axial coordinate range.
If the range contains coordinates which are not part of the grid they will be ignored.getHexagonsByAxialRange in interface HexagonalGridHexagons in the given range.public Iterable<Hexagon> getHexagonsByOffsetRange(int gridXFrom, int gridXTo, int gridYFrom, int gridYTo)
HexagonalGridHexagons contained in the given offset coordinate range.
If the range contains coordinates which are not part of the grid they will be ignored.getHexagonsByOffsetRange in interface HexagonalGridgridXFrom - from x inclusivegridXTo - to x inclusivegridYFrom - from z inclusivegridYTo - to z inclusiveHexagons in the given range.public Hexagon addHexagon(AxialCoordinate coordinate)
HexagonalGridHexagon at the given coordinate.
If there is already a Hexagon at the given position it is overwritten.addHexagon in interface HexagonalGridHexagon created.public Hexagon removeHexagon(AxialCoordinate coordinate)
HexagonalGridHexagon at the given coordinate.removeHexagon in interface HexagonalGridHexagonpublic boolean containsAxialCoordinate(AxialCoordinate coordinate)
HexagonalGridCoordinateConverter.containsAxialCoordinate in interface HexagonalGridpublic Optional<Hexagon> getByAxialCoordinate(AxialCoordinate coordinate)
HexagonalGridHexagon by its axial coordinate.getByAxialCoordinate in interface HexagonalGridpublic Optional<Hexagon> getByPixelCoordinate(double x, double y)
HexagonalGridHexagon by a pixel coordinate.
Please note that all pixel coordinates are relative to
the containing HexagonalGrid.getByPixelCoordinate in interface HexagonalGridx - pixel x coordinatey - pixel y coordinatepublic Iterable<Hexagon> getNeighborsOf(Hexagon hexagon)
HexagonalGridHexagon.getNeighborsOf in interface HexagonalGridhexagon - HexagonHexagon's neighborspublic void clearSatelliteData()
HexagonalGridHexagons in this grid.clearSatelliteData in interface HexagonalGridCopyright © 2016. All rights reserved.