Class AbstractGridPointTranslator

  • All Implemented Interfaces:
    GridPointTranslator
    Direct Known Subclasses:
    BouncyBorders, StickyBorders, StrictBorders

    public abstract class AbstractGridPointTranslator
    extends Object
    implements GridPointTranslator
    Implements transform according to default grid moveTo semantics. Namely, transform will throw a SpatialException if the target location is off the grid.
    Version:
    $Revision$ $Date$
    Author:
    Nick Collier
    • Constructor Detail

      • AbstractGridPointTranslator

        public AbstractGridPointTranslator()
    • Method Detail

      • init

        public void init​(GridDimensions dimensions)
        Initializes this with the given dimensions.
        Specified by:
        init in interface GridPointTranslator
        Parameters:
        dimensions - the dimensions of the space
      • transform

        public void transform​(int[] transformedLocation,
                              int... targetLocation)
                       throws SpatialException
        Transform the given targetLocation according to default moveTo semantics. Namely, if the target location is within the grid dimensions then that location becomes the new transformedLocation. Otherwise, this will throw a SpatialException.
        Specified by:
        transform in interface GridPointTranslator
        Parameters:
        transformedLocation - the coordinates once they have been transformed by this GridPointTranslator
        targetLocation - the new target location whose coordinates will be transformed
        Throws:
        SpatialException - if the transform is invalid. For example, if the new location is outside of the grid.
      • boundsCheck

        protected void boundsCheck​(int i,
                                   int value)
      • transform

        public void transform​(GridPoint transformedLocation,
                              int... targetLocation)
                       throws SpatialException
        Transform the given targetLocation according to default moveTo semantics. Namely, if the target location is within the grid dimensions then that location becomes the new transformedLocation. Otherwise, this will throw a SpatialException.
        Specified by:
        transform in interface GridPointTranslator
        Parameters:
        transformedLocation - the coordinates once they have been transformed by this GridPointTranslator
        targetLocation - the new target location whose coordinates will be transformed
        Throws:
        SpatialException - if the transform is invalid. For example, if the new location is outside of the grid.