Package com.macrofocus.treemap.voronoi
Class VoronoiCell
- java.lang.Object
-
- com.macrofocus.treemap.voronoi.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 Summary
Fields Modifier and Type Field Description static VoronoiCelloutsideDomainCelldoubleweight
-
Constructor Summary
Constructors Constructor Description VoronoiCell(double desiredNormalizedArea, MutableTreeMapNode child, MutableTreeMapNode parent)Creates an instance of VoronoiCell.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPixelForAreaAndCenterOfMassDetermination(int x, int y)Updates the center of mass, area and bounds of the cell.intcompareTo(VoronoiCell o)Point2dgetCenterOfMass()Returns the center of mass.MutableTreeMapNodegetChild()Get the assigned child node.intgetCurrentArea()Returns the curent area of the cell in pixels.doublegetCurrentNormalizedArea()Gets the normalized area of the cell which is its area devided by the area of the parent cell or shape which contains it.doublegetDesiredNormalizedArea()Returns the desired area of the cell in pixels.doublegetErrorAbsolute()Returns the absolute value (i.e.MutableTreeMapNodegetParent()java.awt.PolygongetPolygon()Returns the polygon outline shape of the cell which is the original unsmooth version of its shape.Point2dgetPosition()Returns the center position of the cell in pixels.doublegetWeight()Returns the current wieght of the cell.voidresetCellShapeData()Resets center of mass, area and bounds of the cell.voidscale(double scale)Scales the cell (e.g.voidset(VoronoiCell cell)Assign the field value of another cell to this cell.voidsetCurrentNormalizedArea(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.voidsetErrorAbsolute(double errorAbsolute)Sets the absolute value (i.e.voidsetLineSegments(java.util.List<LineSegment> lineSegments)Sets the line segments of a cell.voidsetPolygon(java.awt.Polygon polygon)Sets the polygon outline shape of the cell which is the original unsmooth version of its shape.voidsetPosition(int x, int y)Sets the center position of the cell in pixels.voidsetPosition(Point2d position)Sets the center position of the cell in pixels.voidsetWeight(double weight)Sets the weight of the cell.java.lang.StringtoString()
-
-
-
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 nodeparent-
-
-
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 pixelsy- 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:
compareToin interfacejava.lang.Comparable<VoronoiCell>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getParent
public MutableTreeMapNode getParent()
-
-