Converter.java

  1. package org.opentrafficsim.draw.egtf;

  2. /**
  3.  * Converter for use in {@code Quantity} to convert internal filtered data to an output type.
  4.  * <p>
  5.  * Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
  6.  * BSD-style license. See <a href="https://opentrafficsim.org/docs/license.html">OpenTrafficSim License</a>.
  7.  * </p>
  8.  * @author <a href="https://github.com/wjschakel">Wouter Schakel</a>
  9.  * @param <K> grid output format
  10.  */
  11. public interface Converter<K>
  12. {
  13.     /** Standard converter that returns the internal SI data directly. */
  14.     Converter<double[][]> SI = new Converter<double[][]>()
  15.     {
  16.         /** {@inheritDoc} */
  17.         @Override
  18.         public double[][] convert(final double[][] filteredData)
  19.         {
  20.             return filteredData;
  21.         }

  22.         /** {@inheritDoc} */
  23.         @Override
  24.         public String toString()
  25.         {
  26.             return "Converter SI";
  27.         }
  28.     };

  29.     /**
  30.      * Convert the filtered data to an output format.
  31.      * @param filteredData double[][]; filtered data
  32.      * @return K; data in output format
  33.      */
  34.     K convert(double[][] filteredData);
  35. }