/*******************************************************************************
* Copyright (c) 2008-2009 SWTChart project. All rights reserved.
*
* This code is distributed under the terms of the Eclipse Public License v1.0
* which is available at http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.swtchart.internal.compress;
/**
* A Compressor.
*/
public interface ICompress
{
/**
* Gets the compressed X series
*
* @return the compressed X series
*/
public abstract double[] getCompressedXSeries ();
/**
* Gets the compressed Y series
*
* @return the compressed Y series
*/
public abstract double[] getCompressedYSeries ();
/**
* Gets the compressed series indexes
*
* @return the compressed series indexes
*/
public abstract int[] getCompressedIndexes ();
/**
* Sets X series which have to be sorted.
*
* @param xSeries
* the X series
*/
public abstract void setXSeries ( double[] xSeries );
/**
* sets the Y series
*
* @param ySeries
* the Y series
*/
public abstract void setYSeries ( double[] ySeries );
/**
* Ignores the points which are in the same grid as the previous point.
*
* @param config
* the configuration for compression
* @return true if the compression succeeds
*/
public abstract boolean compress ( CompressConfig config );
}