Class DoubleFrame<T>

java.lang.Object
com.reduxrobotics.frames.Frame<T>
com.reduxrobotics.frames.DoubleFrame<T>

public class DoubleFrame<T> extends Frame<T>
Implements an object-holding Frame backed by a double. This avoids creation of new objects by only converting to objects when the value is requested
  • Constructor Details

    • DoubleFrame

      public DoubleFrame(double initialData, double timestamp, T defaultData, DoubleFrame.DoubleToType<T> conversion)
      Instantiates a new DoubleFrame.
      Parameters:
      initialData - The initial double data for the frame to hold.
      timestamp - The timestamp the update happened at.
      defaultData - An instance of the object to return before the first update happens.
      conversion - A function that takes in a double and converts it to the final datatype.
  • Method Details

    • getValue

      public T getValue()
      Description copied from class: Frame
      Returns the value of the data frame.
      Specified by:
      getValue in class Frame<T>
      Returns:
      the value the data frame holds.
    • hasData

      public boolean hasData()
      Returns if this frame has data.
      Specified by:
      hasData in class Frame<T>
      Returns:
      if this frame's data can be considered valid
    • clearData

      public void clearData()
      Flag that this frame's data is not valid.
    • getData

      public double getData()
      Gets the underlying double data.
      Returns:
      the double data as a type.
    • updateData

      public void updateData(double data, double timestamp)
      Update the DoubleFrame with new double-backed data.
      Parameters:
      data - the new data to update with
      timestamp - the timestamp at which it occured