Class VoronoiCell

  • All Implemented Interfaces:
    java.lang.Comparable<VoronoiCell>

    public class VoronoiCell
    extends java.lang.Object
    implements java.lang.Comparable<VoronoiCell>
    A Voronoi Cell containing all related data and properties
    • Field Detail

      • weight

        public double weight
      • outsideDomainCell

        public static final VoronoiCell outsideDomainCell
    • Constructor Detail

      • VoronoiCell

        public VoronoiCell​(double desiredNormalizedArea,
                           MutableTreeMapNode child,
                           MutableTreeMapNode parent)
        Creates an instance of VoronoiCell.
        Parameters:
        desiredNormalizedArea - normalize desired area. Desired area divided by the area of the containing cell or shape.
        child - representing child node
        parent -
    • Method Detail

      • scale

        public void scale​(double scale)
        Scales the cell (e.g. for placing it in a scaled diagram)
        Parameters:
        scale - scale factor
      • getCurrentArea

        public int getCurrentArea()
        Returns the curent area of the cell in pixels.
        Returns:
        current area in pixels
      • getDesiredNormalizedArea

        public double getDesiredNormalizedArea()
        Returns the desired area of the cell in pixels.
        Returns:
        desired area in pixels
      • getPosition

        public Point2d getPosition()
        Returns the center position of the cell in pixels.
        Returns:
        center position in pixels
      • getWeight

        public double getWeight()
        Returns the current wieght of the cell.
        Returns:
        current weight
      • setPosition

        public void setPosition​(int x,
                                int y)
        Sets the center position of the cell in pixels.
        Parameters:
        x - x-coordinate in pixels
        y - y-coordinate in pixels
      • setPosition

        public void setPosition​(Point2d position)
        Sets the center position of the cell in pixels.
        Parameters:
        position - center position of the cell in pixels
      • setWeight

        public void setWeight​(double weight)
        Sets the weight of the cell.
        Parameters:
        weight - the new weight
      • setCurrentNormalizedArea

        public void setCurrentNormalizedArea​(double currentNormalizedArea)
        Sets the normalized area of the cell which is its area devided by the area of the parent cell or shape which contains it.
        Parameters:
        currentNormalizedArea - normalized area: area of the cell devided by the area of the parent cell/shape
      • getCurrentNormalizedArea

        public double getCurrentNormalizedArea()
        Gets the normalized area of the cell which is its area devided by the area of the parent cell or shape which contains it.
        Returns:
        normalized area: area of the cell devided by the area of the parent cell/shape
      • addPixelForAreaAndCenterOfMassDetermination

        public void addPixelForAreaAndCenterOfMassDetermination​(int x,
                                                                int y)
        Updates the center of mass, area and bounds of the cell. Call this function to gradually update the center of mass, area and bounds while assigning new pixels to the cell.
        Parameters:
        x - x-coordinate of a new pixel (in pixels)
        y - y-coordinate of a new pixel (in pixels)
      • resetCellShapeData

        public void resetCellShapeData()
        Resets center of mass, area and bounds of the cell.
      • getCenterOfMass

        public Point2d getCenterOfMass()
        Returns the center of mass.
        Returns:
        center of mass in pixels
      • getChild

        public MutableTreeMapNode getChild()
        Get the assigned child node.
        Returns:
        the assigned child node
      • set

        public void set​(VoronoiCell cell)
        Assign the field value of another cell to this cell.
        Parameters:
        cell - a VoronoiCell whose field values are assigned to this cell
      • setErrorAbsolute

        public void setErrorAbsolute​(double errorAbsolute)
        Sets the absolute value (i.e. removed sign) of the current area error devided by the containing parent cell or shape area.
        Parameters:
        errorAbsolute - absolute value (i.e. removed sign) of the current area error devided by the containing parent cell or shape area
      • getErrorAbsolute

        public double getErrorAbsolute()
        Returns the absolute value (i.e. removed sign) of the current area error devided by the containing parent cell or shape area.
        Returns:
        absolute value (i.e. removed sign) of the current area error devided by the containing parent cell or shape area
      • setLineSegments

        public void setLineSegments​(java.util.List<LineSegment> lineSegments)
        Sets the line segments of a cell. Line segments: Outline segments of a cell. A segment defines a curved or straight segment of the outline of the cell which connects to corners (vertices).
        Parameters:
        lineSegments - outline segments of a cell. A segment defines a curved or straight segment of the outline of the cell which connects to corners (vertices)
      • setPolygon

        public void setPolygon​(java.awt.Polygon polygon)
        Sets the polygon outline shape of the cell which is the original unsmooth version of its shape. Th Polygon is mainly used for debugging, to compare the original unsmooth shape with the smoothed one.
        Parameters:
        polygon - polygon outline shape of the cell
      • getPolygon

        public java.awt.Polygon getPolygon()
        Returns the polygon outline shape of the cell which is the original unsmooth version of its shape. Th Polygon is mainly used for debugging, to compare the original unsmooth shape with the smoothed one.
        Returns:
        polygon outline shape of the cell
      • compareTo

        public int compareTo​(VoronoiCell o)
        Specified by:
        compareTo in interface java.lang.Comparable<VoronoiCell>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object