Class Compress

java.lang.Object
org.swtchart.internal.compress.Compress
All Implemented Interfaces:
ICompress
Direct Known Subclasses:
CompressBarSeries, CompressLineSeries, CompressScatterSeries

public abstract class Compress extends Object implements ICompress
A base class for compressor providing default implementations.
  • Field Details

    • previousXGridIndex

      protected int previousXGridIndex
      the previous X grid index
    • previousYGridIndex

      protected int previousYGridIndex
      the previous Y grid index
    • config

      protected CompressConfig config
      the configuration for compressor
    • prevConfig

      protected CompressConfig prevConfig
      the previous configuration for compressor
    • compressed

      protected boolean compressed
      the flag indicating whether the data is compressed
    • xSeries

      protected double[] xSeries
      the source X series to be compressed
    • ySeries

      protected double[] ySeries
      the source Y series to be compressed
    • compressedXSeries

      protected transient double[] compressedXSeries
      the compressed X series
    • compressedYSeries

      protected transient double[] compressedYSeries
      the compressed Y series
    • compressedIndexes

      protected transient int[] compressedIndexes
      the compressed series indexes
    • xLower

      protected double xLower
      the lower value of x range
    • xUpper

      protected double xUpper
      the upper value of x range
    • yLower

      protected double yLower
      the lower value of y range
    • yUpper

      protected double yUpper
      the upper value of y range
  • Constructor Details

    • Compress

      public Compress()
  • Method Details

    • setXSeries

      public void setXSeries(double[] xSeries)
      Description copied from interface: ICompress
      Sets X series which have to be sorted.
      Specified by:
      setXSeries in interface ICompress
      Parameters:
      xSeries - the X series
    • setYSeries

      public void setYSeries(double[] ySeries)
      Description copied from interface: ICompress
      sets the Y series
      Specified by:
      setYSeries in interface ICompress
      Parameters:
      ySeries - the Y series
    • getCompressedXSeries

      public double[] getCompressedXSeries()
      Description copied from interface: ICompress
      Gets the compressed X series
      Specified by:
      getCompressedXSeries in interface ICompress
      Returns:
      the compressed X series
    • getCompressedYSeries

      public double[] getCompressedYSeries()
      Description copied from interface: ICompress
      Gets the compressed Y series
      Specified by:
      getCompressedYSeries in interface ICompress
      Returns:
      the compressed Y series
    • getCompressedIndexes

      public int[] getCompressedIndexes()
      Description copied from interface: ICompress
      Gets the compressed series indexes
      Specified by:
      getCompressedIndexes in interface ICompress
      Returns:
      the compressed series indexes
    • compress

      public final boolean compress(CompressConfig compressConfig)
      Description copied from interface: ICompress
      Ignores the points which are in the same grid as the previous point.
      Specified by:
      compress in interface ICompress
      Parameters:
      compressConfig - the configuration for compression
      Returns:
      true if the compression succeeds
    • addNecessaryPlots

      protected abstract void addNecessaryPlots(ArrayList<Double> xList, ArrayList<Double> yList, ArrayList<Integer> indexList)
      Adds the necessary plots.
      Parameters:
      xList - the array in which x coordinate for necessary plot is stored
      yList - the array in which y coordinate for necessary plot is stored
      indexList - the array in which series index for necessary plot is stored
    • addToList

      protected void addToList(ArrayList<Double> xList, ArrayList<Double> yList, ArrayList<Integer> indexList, double x, double y, int index)
      Adds the given coordinate to list.
      Parameters:
      xList - the list to store the X coordinate
      yList - the list to store the Y coordinate
      indexList - the list to store the series index
      x - the X coordinate
      y - the Y coordinate
      index - the series index
    • isInSameGridAsPrevious

      protected boolean isInSameGridAsPrevious(double x, double y)
      Checks if the given coordinate is in the same grid as previous.
      Parameters:
      x - the X coordinate
      y - the Y coordinate
      Returns:
      true if the given coordinate is in the same grid as previous