Class Polygon2D.Float

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

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

    • Float

      public Float()
      Create a new polygon with no vertices.
    • Float

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

      public Float(float[] coords)
      Create a new polygon with space for the given number of vertices.
    • Float

      public Float(Point2D p)
    • Float

      public Float(float x, float y)
      Create a new polygon with a single start point
    • Float

      public Float(float[] xlocs, float[] 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.Float copy()
      Description copied from class: Polygon2D
      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()
      This method is not implemented and will always return null
      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