public final class HexagonalGridImpl<T extends SatelliteData> extends Object implements HexagonalGrid<T>
| Constructor and Description |
|---|
HexagonalGridImpl(HexagonalGridBuilder<T> builder)
Creates a new HexagonalGrid based on the provided HexagonalGridBuilder.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
containsCubeCoordinate(CubeCoordinate cubeCoordinate)
Tells whether the given cube coordinate is on the grid or not.
|
Optional<Hexagon<T>> |
getByCubeCoordinate(CubeCoordinate coordinate)
Returns a
Hexagon by its cube coordinate. |
Optional<Hexagon<T>> |
getByPixelCoordinate(double coordinateX,
double coordinateY)
Returns a
Hexagon by a pixel coordinate. |
GridData |
getGridData()
Returns this HexagonalGrid's GridData.
|
rx.Observable<Hexagon<T>> |
getHexagons()
Returns all
Hexagons contained in this grid. |
rx.Observable<Hexagon<T>> |
getHexagonsByCubeRange(CubeCoordinate from,
CubeCoordinate to)
Returns all
Hexagons contained in the given cube coordinate range. |
rx.Observable<Hexagon<T>> |
getHexagonsByOffsetRange(int gridXFrom,
int gridXTo,
int gridYFrom,
int gridYTo)
Returns all
Hexagons contained in the given offset coordinate range. |
Optional<Hexagon<T>> |
getNeighborByIndex(Hexagon<T> hexagon,
int index)
Returns a neighbor of a Hexagon by its neighbor index.
|
Collection<Hexagon<T>> |
getNeighborsOf(Hexagon<T> hexagon)
Returns all neighbors of a
Hexagon. |
public HexagonalGridImpl(HexagonalGridBuilder<T> builder)
builder - builderpublic GridData getGridData()
HexagonalGridgetGridData in interface HexagonalGrid<T extends SatelliteData>public rx.Observable<Hexagon<T>> getHexagons()
HexagonalGridHexagons contained in this grid.getHexagons in interface HexagonalGrid<T extends SatelliteData>public rx.Observable<Hexagon<T>> getHexagonsByCubeRange(CubeCoordinate from, CubeCoordinate to)
HexagonalGridHexagons contained in the given cube coordinate range.
If the range contains coordinates which are not part of the grid they will be ignored.getHexagonsByCubeRange in interface HexagonalGrid<T extends SatelliteData>from - fromto - toHexagons in the given range.public rx.Observable<Hexagon<T>> 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 HexagonalGrid<T extends SatelliteData>gridXFrom - from x inclusivegridXTo - to x inclusivegridYFrom - from z inclusivegridYTo - to z inclusiveHexagons in the given range.public boolean containsCubeCoordinate(CubeCoordinate cubeCoordinate)
HexagonalGridCoordinateConverter.containsCubeCoordinate in interface HexagonalGrid<T extends SatelliteData>cubeCoordinate - coordpublic Optional<Hexagon<T>> getByCubeCoordinate(CubeCoordinate coordinate)
HexagonalGridHexagon by its cube coordinate.getByCubeCoordinate in interface HexagonalGrid<T extends SatelliteData>coordinate - coordpublic Optional<Hexagon<T>> 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 HexagonalGrid<T extends SatelliteData>coordinateX - pixel coordinateX coordinatecoordinateY - pixel coordinateY coordinatepublic Optional<Hexagon<T>> getNeighborByIndex(Hexagon<T> hexagon, int index)
HexagonalGridgetNeighborByIndex in interface HexagonalGrid<T extends SatelliteData>public Collection<Hexagon<T>> getNeighborsOf(Hexagon<T> hexagon)
HexagonalGridHexagon.getNeighborsOf in interface HexagonalGrid<T extends SatelliteData>hexagon - HexagonHexagon's neighborsCopyright © 2016. All rights reserved.