Package org.geotools.grid.hexagon
Class HexagonBuilder
- Object
-
- PolygonBuilder
-
- HexagonBuilder
-
public class HexagonBuilder extends PolygonBuilder
Used byHexagons
class to build grids.- Since:
- 2.7
- Author:
- mbedward
-
-
Field Summary
-
Fields inherited from class PolygonBuilder
gridBounds
-
-
Constructor Summary
Constructors Constructor Description HexagonBuilder(ReferencedEnvelope gridBounds, double sideLen, HexagonOrientation orientation)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Hexagon
createNeighbor(PolygonElement el, Neighbor neighbor)
Creates a newHexagon
positioned at the given neighbor position relative to the reference element.PolygonElement
getFirstElement()
PolygonElement
getNextXElement(PolygonElement el)
PolygonElement
getNextYElement(PolygonElement el)
boolean
isValidDenseVertexSpacing(double v)
boolean
isValidNeighbor(Neighbor neighbor)
Tests whether a neighbor position is valid for a given orientation.-
Methods inherited from class PolygonBuilder
buildGrid
-
-
-
-
Constructor Detail
-
HexagonBuilder
public HexagonBuilder(ReferencedEnvelope gridBounds, double sideLen, HexagonOrientation orientation)
-
-
Method Detail
-
isValidNeighbor
public boolean isValidNeighbor(Neighbor neighbor)
Tests whether a neighbor position is valid for a given orientation. Since theHexagon
class is intended to work within a grid (ie. a perfect tesselation) some combinations of neighbour position and hexagon orientation are invalid. For example, aFLAT
hexagon does not have aLEFT
, rather it hasUPPER_LEFT
andLOWER_LEFT
.- Specified by:
isValidNeighbor
in classPolygonBuilder
- Parameters:
neighbor
- neighbor position- Returns:
true
if the combination is valid;false
otherwise
-
createNeighbor
public Hexagon createNeighbor(PolygonElement el, Neighbor neighbor)
Creates a newHexagon
positioned at the given neighbor position relative to the reference element.- Specified by:
createNeighbor
in classPolygonBuilder
- Parameters:
el
- the reference hexagonneighbor
- a valid neighbour position given the reference hexagon's orientation- Returns:
- a new
Hexagon
object - Throws:
IllegalArgumentException
- if either argument isnull
or ifel
is not an instance ofHexagon
or if the neighbor position is not valid for the reference hexagon's orientation- See Also:
#isValidNeighbor(Hexagon.Orientation, Hexagon.Neighbor)
-
getFirstElement
public PolygonElement getFirstElement()
- Specified by:
getFirstElement
in classPolygonBuilder
-
getNextXElement
public PolygonElement getNextXElement(PolygonElement el)
- Specified by:
getNextXElement
in classPolygonBuilder
-
getNextYElement
public PolygonElement getNextYElement(PolygonElement el)
- Specified by:
getNextYElement
in classPolygonBuilder
-
isValidDenseVertexSpacing
public boolean isValidDenseVertexSpacing(double v)
- Specified by:
isValidDenseVertexSpacing
in classPolygonBuilder
-
-