Class Polygon2D.Double

java.lang.Object
ucar.nc2.dt.ugrid.geom.Polygon2D
ucar.nc2.dt.ugrid.geom.Polygon2D.Double
All Implemented Interfaces:
Shape, Serializable
Enclosing class:
Polygon2D

public static class Polygon2D.Double extends Polygon2D
The concrete Polygon class that stores coordinates internally as doubles.
See Also:
  • Constructor Details

    • Double

      public Double()
      Create a new polygon with no coordinates
    • Double

      public Double(int size)
      Create a new polygon with space for the given number of vertices.
    • Double

      public Double(double[] coords)
      Create a new polygon with the given vertices, in the format [x0, y0, x1, y1, ... ].
    • Double

      public Double(Point2D p)
    • Double

      public Double(double x, double y)
      Create a new polygon with a single start point
    • Double

      public Double(double[] xlocs, double[] ylocs)
      Create a new polygon with the provided x and y locations. If the two arrays are of unequal length, an empty polygon is created. NaN values are ignored
      Parameters:
      xlocs - the array of x locations.
      ylocs - the array of y locations.
  • Method Details

    • copy

      public Polygon2D.Double copy()
      Creates a copy of this polygon with the same coordinates. The original polygon remains unchanged.
      Specified by:
      copy in class Polygon2D
      Returns:
      a copy of the this polygon
    • getBounds2D

      public Rectangle2D getBounds2D()
      Get the floating-point bounds of the polygon.
      Specified by:
      getBounds2D in interface Shape
      Specified by:
      getBounds2D in class Polygon2D
    • getBoundsGeo

      public GeoRectangle.Double getBoundsGeo()
      Description copied from class: Polygon2D
      Get the bound box of this poly as a GeoRectangle2D
      Specified by:
      getBoundsGeo in class Polygon2D
    • getCentroid

      public Point2D getCentroid()
      Description copied from class: Polygon2D
      Calculates the center point of this Polygon2D
      Specified by:
      getCentroid in class Polygon2D
      Returns:
      the center point of this Polygon2D
    • getVertices

      public List<Point2D> getVertices()
      Description copied from class: Polygon2D
      Gets a list of Point2D vertices of this polygon.
      Specified by:
      getVertices in class Polygon2D
      Returns:
      a List{Point2D} of vertices
    • getXCoords

      public double[] getXCoords()
      Description copied from class: Polygon2D
      Gets a double array containing the X coordinates of the polygon.
      Specified by:
      getXCoords in class Polygon2D
      Returns:
      the X coordinates
    • getYCoords

      public double[] getYCoords()
      Description copied from class: Polygon2D
      Gets a double array containing the Y coordinates of the polygon.
      Specified by:
      getYCoords in class Polygon2D
      Returns:
      the Y coordinates
    • getX

      public double getX(int index)
      Get the given X-coordinate
      Specified by:
      getX in class Polygon2D
      Throws:
      IndexOutOfBoundsException - The index is out of bounds.
    • getY

      public double getY(int index)
      Get the given Y-coordinate
      Specified by:
      getY in class Polygon2D
      Throws:
      IndexOutOfBoundsException - The index is out of bounds.
    • lineTo

      public void lineTo(double x, double y)
      Add a new vertex to the end of the line.
      Specified by:
      lineTo in class Polygon2D
    • moveTo

      public void moveTo(double x, double y)
      Move the start point of the vertex to the given position.
      Specified by:
      moveTo in class Polygon2D
      Throws:
      UnsupportedOperationException - The polygon already has vertices
    • setX

      public void setX(int index, double x)
      Set the given X-coordinate.
      Specified by:
      setX in class Polygon2D
      Throws:
      IndexOutOfBoundsException - The index is out of bounds.
    • setY

      public void setY(int index, double y)
      Set the given Y-coordinate
      Specified by:
      setY in class Polygon2D
      Throws:
      IndexOutOfBoundsException - The index is out of bounds.
    • transform

      public void transform(AffineTransform at)
      Transform the polygon with the given transform.
      Specified by:
      transform in class Polygon2D
    • translate

      public void translate(double x, double y)
      Translate the polygon the given distance.
      Specified by:
      translate in class Polygon2D