Class HydrophoneOriginMethod

java.lang.Object
Array.streamerOrigin.HydrophoneOriginMethod
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
GPSOriginMethod, StaticOriginMethod

public abstract class HydrophoneOriginMethod extends Object implements Cloneable
Methods for getting streamer origins. This is now separated out from the HydrophoneLocator interface - though that is also used and will in fact call back into the appropriate HydrophoneOriginMethod to work out where the hell it is.This is to incorporate functionality for remote buoys, hydrophones on other ships (from which we get AIS data), etc. The main thing that a HydrophoneOriginMethod has to do is to be able to provide an iterator to a list of data units which contain position heading and other relevant data that the locators themselves can work through to get the array positions at a given time.
Author:
Doug Gillespie
  • Constructor Details

    • HydrophoneOriginMethod

      public HydrophoneOriginMethod(PamArray pamArray, Streamer streamer)
  • Method Details

    • getName

      public abstract String getName()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getDialogComponent

      public OriginDialogComponent getDialogComponent()
      Get a dialog panel component to include in the other settings configuration dialogs.
      Returns:
      Component to enter into a larger dialog
    • getOriginSettings

      public abstract OriginSettings getOriginSettings()
    • setOriginSettings

      public abstract void setOriginSettings(OriginSettings originSettings)
    • prepare

      public abstract boolean prepare()
      prepare the method - called from the controllers notify model changed or whenever anything else happens that might require some preparatory action
    • getLastStreamerData

      public abstract StreamerDataUnit getLastStreamerData()
      Get the latest streamer data unit.

      Origin methods MUST return something for this, even if they don't have any data units, they should just make one up from the stored streamer data.

      Returns:
      the latest streamer data unit.
    • getStreamerData

      public GpsData getStreamerData(long timeMillis)
      Get the gps data closest to a particular time.

      Note that some methods, might always opt for the preceeding, some may take the closest.

      Parameters:
      timeMillis - time in milliseconds
      Returns:
      closest gps data
    • getGpsDataIterator

      public abstract OriginIterator getGpsDataIterator(int wherefrom)
      Get an iterator for stepping through gps data, but only selecting from a particular streamer if more than one streamer / buoy is available.
      Parameters:
      wherefrom - from end, start, etc.
      Returns:
      an iterator, possibly containing special functionality to deal with data from specific streamers.
    • getSynchronizationObject

      public abstract Object getSynchronizationObject()
    • getAllowedInterpolationMethods

      public int getAllowedInterpolationMethods()
      Get allowable interpolation methods for this type of origin
      Returns:
      a bitmap of the:
      PamArry.ORIGIN_USE_LATEST = 0;
      PamArry.ORIGIN_INTERPOLATE = 1;
      PamArry.ORIGIN_USE_PRECEEDING = 2;