Class FixedSkyviewProjection

java.lang.Object
uk.ac.starlink.ttools.plot2.geom.SkyviewProjection
uk.ac.starlink.ttools.plot2.geom.FixedSkyviewProjection
All Implemented Interfaces:
Projection

public abstract class FixedSkyviewProjection extends SkyviewProjection
SkyviewProjection subclass that does not use mouse gestures to rotate the sky, only to pan and zoom over the projected plane.
Since:
12 Mar 2019
Author:
Mark Taylor
  • Field Details

  • Constructor Details

    • FixedSkyviewProjection

      protected FixedSkyviewProjection(skyview.geometry.Projecter projecter, Shape shape, String name, String description)
      Constructor.
      Parameters:
      projecter - projecter object
      shape - shape of the sky in this projection
      name - projection name
      description - projection description
  • Method Details

    • getFixedRotation

      protected abstract double[] getFixedRotation(boolean reflect)
      Returns the fixed rotation matrix to use for this projection.
      Parameters:
      reflect - true to reflect longitude
      Returns:
      rotation matrix
    • cursorRotate

      public double[] cursorRotate(double[] rotmat, Point2D.Double pos0, Point2D.Double pos1)
      Returns null - rotation not implemented.
      Parameters:
      rotmat - initial rotation matrix
      pos0 - initial cursor position
      pos1 - destination cursor position
      Returns:
      destination rotation matrix, or null
    • projRotate

      public double[] projRotate(double[] rotmat, Point2D.Double pos0, Point2D.Double pos1)
      Returns null - rotation not implemented.
      Parameters:
      rotmat - initial rotation matrix
      pos0 - initial projected position
      pos1 - destination projected position
      Returns:
      destination rotation matrix, or null
    • useRanges

      public boolean useRanges(boolean reflect, double[] r3, double radiusRad)
      Returns false - ranging not used.
      Parameters:
      reflect - whether requested aspect will be reflected
      r3 - central position of field of view (may be null)
      radiusRad - radius of field of view (may be NaN)
      Returns:
      true if ranges would be useful given the other arguments
      See Also:
    • createAspect

      public SkyAspect createAspect(boolean reflect, double[] r3, double radiusRad, Range[] ranges)
      Description copied from interface: Projection
      Creates a SkyAspect from configuration information. Either the supplied field of view or data ranges may be used, or neither.
      Parameters:
      reflect - whether requested aspect will be reflected
      r3 - central position of field of view (may be null)
      radiusRad - radius of field of view (may be NaN)
      ranges - definite ranges for normalised X,Y,Z coordinates acquired from data
      Returns:
      new sky aspect
      See Also:
    • getFov

      public SkyFov getFov(SkySurface surf)
      Description copied from interface: Projection
      Returns the field of view represented by this aspect. This is a best estimate, it may be approximate depending on the projection geometry. If the field of view is the default for this projection, then null should be returned. Null may also be returned if for some reason no field of view can be determined.
      Parameters:
      surf - sky surface, which must be set up using this projection
      Returns:
      field of view, or null