public final class HexagonalGridImpl extends Object implements HexagonalGrid
| Constructor and Description |
|---|
HexagonalGridImpl(HexagonalGridBuilder builder)
Creates a new HexagonalGrid based on the provided HexagonalGridBuilder.
|
| 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. |
int |
getGridHeight() |
HexagonalGridLayout |
getGridLayout() |
int |
getGridWidth() |
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. |
SharedHexagonData |
getSharedHexagonData() |
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 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 coordinateX, double coordinateY)
HexagonalGridHexagon by a pixel coordinate.
Please note that all pixel coordinates are relative to
the containing HexagonalGrid.getByPixelCoordinate in interface HexagonalGridcoordinateX - pixel coordinateX coordinatecoordinateY - pixel coordinateY coordinatepublic Iterable<Hexagon> getNeighborsOf(Hexagon hexagon)
HexagonalGridHexagon.getNeighborsOf in interface HexagonalGridhexagon - HexagonHexagon's neighborspublic void clearSatelliteData()
HexagonalGridHexagons in this grid.clearSatelliteData in interface HexagonalGridpublic HexagonalGridLayout getGridLayout()
public SharedHexagonData getSharedHexagonData()
public int getGridWidth()
public int getGridHeight()
Copyright © 2016. All rights reserved.