Package ij.process

Class FloatPolygon


  • public class FloatPolygon
    extends Object
    Used by the Roi classes to return float coordinate arrays and to determine if a point is inside or outside of spline fitted selections.
    • Field Detail

      • npoints

        public int npoints
        The number of points.
      • xpoints

        public float[] xpoints
      • ypoints

        public float[] ypoints
    • Constructor Detail

      • FloatPolygon

        public FloatPolygon()
        Constructs an empty FloatPolygon.
      • FloatPolygon

        public FloatPolygon​(float[] xpoints,
                            float[] ypoints)
        Constructs a FloatPolygon from x and y arrays.
      • FloatPolygon

        public FloatPolygon​(float[] xpoints,
                            float[] ypoints,
                            int npoints)
        Constructs a FloatPolygon from x and y arrays.
    • Method Detail

      • contains

        public boolean contains​(double x,
                                double y)
        Returns 'true' if the point (x,y) is inside this polygon. This is a Java version of the remarkably small C program by W. Randolph Franklin at http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html#The%20C%20Code In the absence of numerical errors, x coordinates exactly at a boundary are taken as if in the area immediately at the left of the boundary. For horizontal boundaries, y coordinates exactly at the border are taken as if in the area immediately above it (i.e., in decreasing y direction). The ImageJ convention of an offset of 0.5 pixels between pixel centers and outline coordinates is not taken into consideration; this method returns the purely geometrical relationship.
      • addPoint

        public void addPoint​(float x,
                             float y)
      • addPoint

        public void addPoint​(double x,
                             double y)
      • getLength

        public double getLength​(boolean isLine)
      • getConvexHull

        public FloatPolygon getConvexHull()
        Uses the gift wrap algorithm to find the convex hull of all points in this FloatPolygon and returns it as a new FloatPolygon. The sequence of the points on the convex hull is counterclockwise.