/* * Results.java * * Created on 31 January 2001, 09:45 */ package uk.ac.leeds.ccg.cluster; //import uk.ac.leeds.ccg.geotools.*; import uk.ac.leeds.ccg.geotools.GeoRectangle; import uk.ac.leeds.ccg.geotools.GeoCircle; import uk.ac.leeds.ccg.raster.circleRaster; //import java.util.*; import java.util.Vector; /** * @author iant * @version * $Header: /export/cvsroot/spinsrc/src/uk/ac/leeds/ccg/cluster/Results.java,v 1.5 2002/10/01 12:53:54 ian Exp $ * A simple results wrapper for gam and gam like algorithms * To Do: add write to file method. */ public class Results extends java.lang.Object { private Vector circles = new Vector(); private Vector excesses = new Vector(); private GeoRectangle bounds = new GeoRectangle(); private circleRaster rstr = null; /** Creates new Results */ public Results() { } public void addResult( GeoCircle c, double score ) { circles.addElement( c ); excesses.addElement( new Double( score ) ); bounds.add( c.getBounds() ); } public GeoRectangle getBounds() { return ( GeoRectangle ) bounds.clone(); } public Vector getCircles() { int i = 1; return this.circles; //return ( Vector ) circles.clone(); } public Vector getExcesses() { int i = 0; return this.excesses; //return ( Vector ) excesses.clone(); } public int getSize() { return circles.size(); } public double[] getRasterData() { if( rstr == null ) { GeoRectangle gr = this.getBounds(); double len = Math.max( gr.width, gr.height ); System.out.println( "len " + len ); double size = Math.ceil( len / 100.0 ); System.out.println( "size " + size ); rstr = new circleRaster( size, gr ); rstr.addGeoCircles( this.getCircles(), this.getExcesses() ); } return rstr.getData(); } public GeoRectangle getRasterBounds() { if ( rstr == null ) { return null; } return rstr.getBounds(); } public int getRasterWidth() { if ( rstr == null ) { return 0; } return rstr.getWidth(); } public int getRasterHeight() { if ( rstr == null ) { return 0; } return rstr.getHeight(); } public double getRasterCellSize() { if ( rstr == null ) { return 0.0; } return rstr.getCellSize(); } /** Setter for property bounds. * @param bounds New value of property bounds. * */ public void setBounds (uk.ac.leeds.ccg.geotools.GeoRectangle bounds) { this.bounds = bounds; } }