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

org.jeometry.geom2D.point.Point2D Maven / Gradle / Ivy

package org.jeometry.geom2D.point;

import org.jeometry.Geometry;
import org.jeometry.geom2D.SpatialLocalization2D;

/**
 * This interface describes a point expressed within a two-dimensional Euclidean space.
 * The coordinates of the point (x, y) are expressed within a Cartesian coordinate system and are stored as double values.
 * @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
 * @version {@value Geometry#version}
 * @since 1.0.0
 */
public interface Point2D extends Coord2D, SpatialLocalization2D {

  /**
   * The index of the dimension of the X coordinates.
   * @see #DIMENSION_Y
   */
  public static final int DIMENSION_X = 0;
  
  /**
   * The index of the dimension of the Y coordinates.
   * @see #DIMENSION_X
   */
  public static final int DIMENSION_Y = 1;
  
  /**
   * Get the point coordinate along the X axis.
   * @return the point coordinate along the X axis.
   * @see #getY()
   * @see #setX(double)
   */
  public double getX();
  
  /**
   * Set the point coordinate along the X axis.
   * @param x the point coordinate along the X axis.
   * @see #setY(double)
   * @see #getX()
   */
  public void setX(double x);
  

  /**
   * Get the point coordinate along the Y axis.
   * @return the point coordinate along the Y axis.
   * @see #getX()
   * @see #setY(double)
   */
  public double getY();
  
  /**
   * Set the point coordinate along the Y axis.
   * @param y the point coordinate along the Y axis.
   * @see #setX(double)
   * @see #getY()
   */
  public void setY(double y);
  
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy