Interface FillingCurve3D

  • All Known Implementing Classes:
    ZOrderCurve3D

    public interface FillingCurve3D
    Interface defining a 3-dimensional space-filling curve. It provides method to transform 3d-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 hash2i00​(long hash)
      Special case of hash2ijk(long) in which the discretized coordinate along the vertical axis equals zero.
      long hash2ijk​(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 3d-coordinates using methods ijk2i(long), ijk2j(long) and ijk2k(long).
      long i002hash​(int i)
      Special case of ijk2hash(int, int, int) in which the discretized coordinate along the vertical axis equals zero.
      long ijk2hash​(int i, int j, int k)
      Transforms coordinates in a discretized 2d-space into a space filling curve index.
      int ijk2i​(long ijk)
      Extract the discretized horizontal coordinates from the result of the method hash2ijk(long).
      int ijk2j​(long ijk)
      Extract the discretized vertical coordinates from the result of the method hash2ijk(long).
      int ijk2k​(long ijk)
      Extract the discretized depth coordinates from the result of the method hash2ijk(long).
    • Method Detail

      • ijk2hash

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

        long i002hash​(int i)
        Special case of ijk2hash(int, 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.
      • hash2ijk

        long hash2ijk​(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 3d-coordinates using methods ijk2i(long), ijk2j(long) and ijk2k(long).
        Parameters:
        hash - the space filling curve index (or hash value)
        Returns:
        a single value from which it is straightforward to extract the associated 3d-coordinates using methods ijk2i(long), ijk2j(long) and ijk2k(long).
      • hash2i00

        long hash2i00​(long hash)
        Special case of hash2ijk(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 ijk2i(long).
      • ijk2i

        int ijk2i​(long ijk)
        Extract the discretized horizontal coordinates from the result of the method hash2ijk(long).
        Parameters:
        ijk - result of the method hash2ijk(long)
        Returns:
        the discretized horizontal coordinate stored in the given parameter ijk
      • ijk2j

        int ijk2j​(long ijk)
        Extract the discretized vertical coordinates from the result of the method hash2ijk(long).
        Parameters:
        ijk - result of the method hash2ijk(long)
        Returns:
        the discretized horizontal coordinate stored in the given parameter ijk
      • ijk2k

        int ijk2k​(long ijk)
        Extract the discretized depth coordinates from the result of the method hash2ijk(long).
        Parameters:
        ijk - result of the method hash2ijk(long)
        Returns:
        the discretized horizontal coordinate stored in the given parameter ijk