org.openstreetmap.josm.plugins.streetside

## Class StreetsideAbstractImage

- java.lang.Object
- - org.openstreetmap.josm.plugins.streetside.StreetsideAbstractImage

- All Implemented Interfaces:
    java.lang.Comparable<StreetsideAbstractImage>

      public abstract class StreetsideAbstractImage
      extends java.lang.Object
      implements java.lang.Comparable<StreetsideAbstractImage>

  Abstract superclass for all image objects. At the moment there are just 2, `StreetsideImportedImage` and `StreetsideImage`.
  Author:
    nokutu

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getCd()` Returns the Epoch time when the image was captured.
    `java.lang.String` | `getDate()` Returns the date the picture was taken in DMY format.
    `java.lang.String` | `getDate(java.lang.String format)` Returns the date the picture was taken in the given format.
    `double` | `getHe()` Returns the original direction towards the image has been taken.
    `java.lang.String` | `getId()`
    `org.openstreetmap.josm.data.coor.LatLon` | `getLatLon()` Returns a LatLon object containing the original coordinates of the object.
    `double` | `getMovingHe()` Returns the direction towards the image has been taken.
    `org.openstreetmap.josm.data.coor.LatLon` | `getMovingLatLon()` Returns a LatLon object containing the current coordinates of the object.
    `org.openstreetmap.josm.plugins.streetside.StreetsideSequence` | `getSequence()` Returns the sequence which contains this image.
    `double` | `getTempHe()` Returns the last fixed direction of the object.
    `org.openstreetmap.josm.data.coor.LatLon` | `getTempLatLon()` Returns the last fixed coordinates of the object.
    `boolean` | `isModified()` Returns whether the object has been modified or not.
    `boolean` | `isVisible()` Returns whether the image is visible on the map or not.
    `void` | `move(double x, double y)` Moves the image temporally to another position
    `StreetsideAbstractImage` | `next()` If the StreetsideImage belongs to a StreetsideSequence, returns the next image in the sequence.
    `StreetsideAbstractImage` | `previous()` If the StreetsideImage belongs to a StreetsideSequence, returns the previous image in the sequence.
    `void` | `setCd(long cd)` Sets the Epoch time when the picture was captured.
    `void` | `setHe(double he)`
    `void` | `setId(java.lang.String id)`
    `void` | `setLatLon(org.openstreetmap.josm.data.coor.LatLon latLon)`
    `void` | `setSequence(org.openstreetmap.josm.plugins.streetside.StreetsideSequence sequence)` Sets the StreetsideSequence object which contains the StreetsideImage.
    `void` | `setVisible(boolean visible)` Set's whether the image should be visible on the map or not.
    `void` | `stopMoving()` Called when the mouse button is released, meaning that the picture has stopped being dragged, so the temporal values are saved.
    `void` | `turn(double ca)` Turns the image direction.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.lang.Comparable

      `compareTo`

- - ### Method Detail

    - #### getId

          public java.lang.String getId()

      Returns:
        the id

    - #### setId

          public void setId(java.lang.String id)

      Parameters:
        `id` - the id to set

    - #### getHe

          public double getHe()

      Returns the original direction towards the image has been taken.
      Returns:
        The direction of the image (0 means north and goes clockwise).

    - #### getCd

          public long getCd()

      Returns the Epoch time when the image was captured.
      Returns:
        The long containing the Epoch time when the image was captured.

    - #### getDate

          public java.lang.String getDate()

      Returns the date the picture was taken in DMY format.
      Returns:
        A String object containing the date when the picture was taken.

    - #### getDate

          public java.lang.String getDate(java.lang.String format)

      Returns the date the picture was taken in the given format.
      Parameters:
        `format` - Format of the date. See `SimpleDateFormat`.
      Returns:
        A String containing the date the picture was taken using the given format.
      Throws:
        `java.lang.NullPointerException` - if parameter format is `null`

    - #### getLatLon

          public org.openstreetmap.josm.data.coor.LatLon getLatLon()

      Returns a LatLon object containing the original coordinates of the object.
      Returns:
        The LatLon object with the position of the object.

    - #### getMovingHe

          public double getMovingHe()

      Returns the direction towards the image has been taken.
      Returns:
        The direction of the image (0 means north and goes clockwise).

    - #### getMovingLatLon

          public org.openstreetmap.josm.data.coor.LatLon getMovingLatLon()

      Returns a LatLon object containing the current coordinates of the object. When you are dragging the image this changes.
      Returns:
        The LatLon object with the position of the object.

    - #### getSequence

          public org.openstreetmap.josm.plugins.streetside.StreetsideSequence getSequence()

      Returns the sequence which contains this image. Never null.
      Returns:
        The StreetsideSequence object that contains this StreetsideImage.

    - #### getTempHe

          public double getTempHe()

      Returns the last fixed direction of the object.
      Returns:
        The last fixed direction of the object. 0 means north.

    - #### getTempLatLon

          public org.openstreetmap.josm.data.coor.LatLon getTempLatLon()

      Returns the last fixed coordinates of the object.
      Returns:
        A LatLon object containing.

    - #### isModified

          public boolean isModified()

      Returns whether the object has been modified or not.
      Returns:
        true if the object has been modified; false otherwise.

    - #### isVisible

          public boolean isVisible()

      Returns whether the image is visible on the map or not.
      Returns:
        True if the image is visible; false otherwise.

    - #### move

          public void move(double x,
                           double y)

      Moves the image temporally to another position
      Parameters:
        `x` - The movement of the image in longitude units.
        `y` - The movement of the image in latitude units.

    - #### next

          public StreetsideAbstractImage next()

      If the StreetsideImage belongs to a StreetsideSequence, returns the next image in the sequence.
      Returns:
        The following StreetsideImage, or null if there is none.

    - #### previous

          public StreetsideAbstractImage previous()

      If the StreetsideImage belongs to a StreetsideSequence, returns the previous image in the sequence.
      Returns:
        The previous StreetsideImage, or null if there is none.

    - #### setHe

          public void setHe(double he)

    - #### setCd

          public void setCd(long cd)

      Sets the Epoch time when the picture was captured.
      Parameters:
        `cd` - Epoch time when the image was captured.

    - #### setLatLon

          public void setLatLon(org.openstreetmap.josm.data.coor.LatLon latLon)

    - #### setSequence

          public void setSequence(org.openstreetmap.josm.plugins.streetside.StreetsideSequence sequence)

      Sets the StreetsideSequence object which contains the StreetsideImage.
      Parameters:
        `sequence` - The StreetsideSequence that contains the StreetsideImage.
      Throws:
        `java.lang.IllegalArgumentException` - if the image is not already part of the `StreetsideSequence`. Call `StreetsideSequence.add(StreetsideAbstractImage)` first.

    - #### setVisible

          public void setVisible(boolean visible)

      Set's whether the image should be visible on the map or not.
      Parameters:
        `visible` - true if the image is set to be visible; false otherwise.

    - #### stopMoving

          public void stopMoving()

      Called when the mouse button is released, meaning that the picture has stopped being dragged, so the temporal values are saved.

    - #### turn

          public void turn(double ca)

      Turns the image direction.
      Parameters:
        `ca` - The angle the image is moving.