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

    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 Details

    • 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