Interface FillingCurve2D


  • public interface FillingCurve2D
    Interface defining a two-dimensional space-filling curve. It provides method to transform a pair of 2d-coordinates in a single index in the curve. The index value is here called hash value since the intput parameters are discritized coordinates, and information is lost during the discretization.
    Author:
    F.-X. Pineau
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      long hash2i0​(long hash)
      Special case of hash2ij(long) in which the discretized coordinate along the vertical axis equals zero.
      long hash2ij​(long hash)
      Transforms the given space filling curve index (or hash value) into a single value from which it is straightforward to extract the associated 2d-coordinates using methods ij2i(long) and ij2j(long).
      long i02hash​(int i)
      Special case of ij2hash(int, int) in which the discretized coordinate along the vertical axis equals zero.
      long ij2hash​(int i, int j)
      Transforms coordinates in a discretized 2d-plane into a space filling curve index.
      int ij2i​(long ij)
      Extract the discretized horizontal coordinates from the result of the method hash2ij(long).
      int ij2j​(long ij)
      Extract the discretized vertical coordinates from the result of the method hash2ij(long).
      long xy2hash​(double x, double y)
      The default implementation (not implemented to stay compatible with Java Version < 8) should be: return ij2hash((int) x, (int) y).
    • Method Detail

      • xy2hash

        long xy2hash​(double x,
                     double y)
        The default implementation (not implemented to stay compatible with Java Version < 8) should be: return ij2hash((int) x, (int) y).
        Parameters:
        x - coordinate along the horizontal axis
        y - coordinate along the vertical axis
        Returns:
        the space filling curve index (or hash value) associated to the given 2d-coordinates.
      • ij2hash

        long ij2hash​(int i,
                     int j)
        Transforms coordinates in a discretized 2d-plane into a space filling curve index. This can be thought of as computing a hash value from 2d-coordinates.
        Parameters:
        i - discretized coordinate along the horizontal axis
        j - discretized coordinate along the vertical axis
        Returns:
        the space filling curve index (or hash value) associated to the given discretized 2d-coordinates.
      • i02hash

        long i02hash​(int i)
        Special case of ij2hash(int, int) in which the discretized coordinate along the vertical axis equals zero.
        Parameters:
        i - discretized coordinate along the horizontal axis
        Returns:
        the space filling curve index (or hash value) associated to the given discretized horizontal coordinate, assuming the discretized vertical coordinate equal zero.
      • hash2ij

        long hash2ij​(long hash)
        Transforms the given space filling curve index (or hash value) into a single value from which it is straightforward to extract the associated 2d-coordinates using methods ij2i(long) and ij2j(long).
        Parameters:
        hash - the space filling curve index (or hash value)
        Returns:
        a single value from which it is straightforward to extract the associated 2d-coordinates using methods ij2i(long) and ij2j(long).
      • hash2i0

        long hash2i0​(long hash)
        Special case of hash2ij(long) in which the discretized coordinate along the vertical axis equals zero.
        Parameters:
        hash - the space filling curve index (or hash value)
        Returns:
        a single value, knowing the vertical coordinate equals zero, from which it is straightforward to extract the associated horizontal coordinate using method ij2i(long).
      • ij2i

        int ij2i​(long ij)
        Extract the discretized horizontal coordinates from the result of the method hash2ij(long).
        Parameters:
        ij - result of the method hash2ij(long)
        Returns:
        the discretized horizontal coordinate stored in the given parameter ij
      • ij2j

        int ij2j​(long ij)
        Extract the discretized vertical coordinates from the result of the method hash2ij(long).
        Parameters:
        ij - result of the method hash2ij(long)
        Returns:
        the discretized horizontal coordinate stored in the given parameter ij