All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jeometry.geom2D.SpatialLocalization2D Maven / Gradle / Ivy

There is a newer version: 1.0.5
Show newest version
package org.jeometry.geom2D;

import org.jeometry.Jeometry;

/**
 * A spatial localization within a 2D space. Such an item is represented by a set of coordinates and a set of bounds.
 * @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
 * @version {@value Jeometry#version}
 * @since 1.0.0
 */
public interface SpatialLocalization2D {

  /**
   * Get the X coordinate of this localization.
   * @return the X coordinate of this localization.
   */
  public double getX();

  /**
   * Get the Y coordinate of this localization.
   * @return the Y coordinate of this localization.
   */
  public double getY();

  /**
   * Get the minimal X coordinate of this spatial item.
   * @return the minimal X coordinate of this spatial item.
   */
  public double getXMin();

  /**
   * Get the minimal Y coordinate of this spatial item.
   * @return the minimal Y coordinate of this spatial item.
   */
  public double getYMin();

  /**
   * Get the maximal X coordinate of this spatial item.
   * @return the maximal X coordinate of this spatial item.
   */
  public double getXMax();

  /**
   * Get the maximal Y coordinate of this spatial item.
   * @return the maximal Y coordinate of this spatial item.
   */
  public double getYMax();

  /**
   * Compute the distance between this spatial localization and the given one.
   * @param spatial the spatial localization.
   * @return the distance between this spatial localization and the given one.
   */
  public double distance(SpatialLocalization2D spatial);
  
  /**
   * Update the localization values. It is implied that after a call to this method, all the informations given
   * by the spatial localization are consistent.
   */
  public void updateLocalization();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy