LogarithmicDecreasingWithSizeAdjustment.java

package sk.iway.iwcm.stat.heat_map;

/**
 *  DecreasingWithSizeAdjustment.java
 *
 *@Title        webjet7
 *@Company      Interway s.r.o. (www.interway.sk)
 *@Copyright    Interway s.r.o. (c) 2001-2010
 *@author       $Author: marosurbanec $
 *@version      $Revision: 1.3 $
 *@created      Date: 8.6.2010 12:57:37
 *@modified     $Date: 2004/08/16 06:26:11 $
 */
class LogarithmicDecreasingWithSizeAdjustment implements GeneratorSizeAdjustment
{
	
	private final HeatMapGenerator generator;

	public LogarithmicDecreasingWithSizeAdjustment(HeatMapGenerator heatMapGenerator)
	{
		this.generator = heatMapGenerator;
	}

	@Override
	public int calculateCircleSize()
	{
		int size = (int) (80.0 - 10.0* Math.log(generator.clicks.size()) / Math.log(15.0));
		if (size < 30) size = 30;
		return size;
	}
	@Override
	public float calculateMaximumAlphaForOneCircle()
	{
		if (generator.clicks.size() < 100)
			return 1.0f;
		else if (generator.clicks.size() < 500)
			return 0.6f;
		return (float) (1.0 / Math.log(generator.clicks.size()) * Math.log(15.0));
	}
}