Class HexagonBuilder


  • public class HexagonBuilder
    extends PolygonBuilder
    Used by Hexagons class to build grids.
    Since:
    2.7
    Author:
    mbedward
    • Method Detail

      • isValidNeighbor

        public boolean isValidNeighbor​(Neighbor neighbor)
        Tests whether a neighbor position is valid for a given orientation. Since the Hexagon class is intended to work within a grid (ie. a perfect tesselation) some combinations of neighbour position and hexagon orientation are invalid. For example, a FLAT hexagon does not have a LEFT, rather it has UPPER_LEFT and LOWER_LEFT.
        Specified by:
        isValidNeighbor in class PolygonBuilder
        Parameters:
        neighbor - neighbor position
        Returns:
        true if the combination is valid; false otherwise
      • createNeighbor

        public Hexagon createNeighbor​(PolygonElement el,
                                      Neighbor neighbor)
        Creates a new Hexagon positioned at the given neighbor position relative to the reference element.
        Specified by:
        createNeighbor in class PolygonBuilder
        Parameters:
        el - the reference hexagon
        neighbor - a valid neighbour position given the reference hexagon's orientation
        Returns:
        a new Hexagon object
        Throws:
        IllegalArgumentException - if either argument is null or if el is not an instance of Hexagon or if the neighbor position is not valid for the reference hexagon's orientation
        See Also:
        #isValidNeighbor(Hexagon.Orientation, Hexagon.Neighbor)