Class VoronoiCore
- java.lang.Object
-
- com.macrofocus.treemap.originalfastvoronoi.VoronoiCore
-
public class VoronoiCore extends java.lang.ObjectCore class for generating Voronoi Treemaps. position and weight of sites is changed on each iteration to get the wanted area for a cell.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleancancelOnAreaErrorThresholdprotected booleancancelOnMaxIteratprotected PolygonSimpleclipPolygonprotected doublecompleteAreaprotected doublecurrentAreaErrorprotected doublecurrentEuclidChangeTemporary, only for debuggingprotected PowerDiagramdiagramprotected doubleerrorAreaThresholddoublelastAreaErrordoublelastAVGErrorprotected doublelastEuclidChangedoublelastMaxErrordoublelastSumErrorChangeprotected booleanpreflowFinishedprotected OpenListsites
-
Constructor Summary
Constructors Constructor Description VoronoiCore()VoronoiCore(OpenList sites, PolygonSimple clipPolygon)VoronoiCore(PolygonSimple clipPolygon)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSite(Site site)Adds a site, which is a voronoi cell to the listvoiddoIterate()voiddoIterate(int iterationAmount)booleangetAggressiveMode()doublegetPreflowPercentage()OpenListgetSites()booleanisCancelOnAreaErrorThreshold()booleanisUseExtrapolation()voiditerate()static voidmain(java.lang.String[] args)voidsetAggressiveMode(boolean aggressiveMode)voidsetCancelOnAreaErrorThreshold(boolean cancelOnThreshold)voidsetCancelOnMaxIterat(boolean cancelOnMaxIterat)voidsetClipPolygon(PolygonSimple polygon)The resulting Voronoi Cells are clipped with this polygonvoidsetErrorAreaThreshold(double errorAreaThreshold)voidsetGuaranteeValidCells(boolean guaranteeInvariant)voidsetNumberMaxIterations(int numberMaxIterations)voidsetPreflowIncrease(double preflowIncrease)If a region wants to increase its area by the factor preflowIncrease it is considered for preflow extrapolation.voidsetPreflowPercentage(double preflowPercentage)voidsetSites(OpenList sites)voidsetUseExtrapolation(boolean useExtrapolation)voidsetUseNegativeWeights(boolean useNegativeWeights)voidvoroDiagram()Computes the diagram and sets the results
-
-
-
Field Detail
-
cancelOnAreaErrorThreshold
protected boolean cancelOnAreaErrorThreshold
-
cancelOnMaxIterat
protected boolean cancelOnMaxIterat
-
errorAreaThreshold
protected double errorAreaThreshold
-
clipPolygon
protected PolygonSimple clipPolygon
-
sites
protected OpenList sites
-
completeArea
protected double completeArea
-
preflowFinished
protected boolean preflowFinished
-
diagram
protected PowerDiagram diagram
-
currentAreaError
protected double currentAreaError
-
currentEuclidChange
protected double currentEuclidChange
Temporary, only for debugging
-
lastAreaError
public double lastAreaError
-
lastAVGError
public double lastAVGError
-
lastMaxError
public double lastMaxError
-
lastSumErrorChange
public double lastSumErrorChange
-
lastEuclidChange
protected double lastEuclidChange
-
-
Constructor Detail
-
VoronoiCore
public VoronoiCore()
-
VoronoiCore
public VoronoiCore(PolygonSimple clipPolygon)
-
VoronoiCore
public VoronoiCore(OpenList sites, PolygonSimple clipPolygon)
-
-
Method Detail
-
setClipPolygon
public void setClipPolygon(PolygonSimple polygon)
The resulting Voronoi Cells are clipped with this polygon- Parameters:
polygon-
-
addSite
public void addSite(Site site)
Adds a site, which is a voronoi cell to the list- Parameters:
site-
-
iterate
public void iterate()
-
voroDiagram
public void voroDiagram()
Computes the diagram and sets the results
-
doIterate
public void doIterate()
-
doIterate
public void doIterate(int iterationAmount)
-
setCancelOnAreaErrorThreshold
public void setCancelOnAreaErrorThreshold(boolean cancelOnThreshold)
-
isCancelOnAreaErrorThreshold
public boolean isCancelOnAreaErrorThreshold()
-
setCancelOnMaxIterat
public void setCancelOnMaxIterat(boolean cancelOnMaxIterat)
-
setErrorAreaThreshold
public void setErrorAreaThreshold(double errorAreaThreshold)
-
setSites
public void setSites(OpenList sites)
-
getSites
public OpenList getSites()
-
setUseExtrapolation
public void setUseExtrapolation(boolean useExtrapolation)
-
isUseExtrapolation
public boolean isUseExtrapolation()
-
getPreflowPercentage
public double getPreflowPercentage()
-
setPreflowIncrease
public void setPreflowIncrease(double preflowIncrease)
If a region wants to increase its area by the factor preflowIncrease it is considered for preflow extrapolation. default value is 1.6 (experimental)
-
setGuaranteeValidCells
public void setGuaranteeValidCells(boolean guaranteeInvariant)
-
setNumberMaxIterations
public void setNumberMaxIterations(int numberMaxIterations)
-
setPreflowPercentage
public void setPreflowPercentage(double preflowPercentage)
-
setUseNegativeWeights
public void setUseNegativeWeights(boolean useNegativeWeights)
-
setAggressiveMode
public void setAggressiveMode(boolean aggressiveMode)
-
getAggressiveMode
public boolean getAggressiveMode()
-
main
public static void main(java.lang.String[] args)
- Parameters:
args-
-
-