Class 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
    • Constructor Detail

      • FixedSkyviewProjection

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

      • 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,
                                     java.awt.geom.Point2D.Double pos0,
                                     java.awt.geom.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,
                                   java.awt.geom.Point2D.Double pos0,
                                   java.awt.geom.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
      • 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:
        SurfaceFactory.createAspect(P, uk.ac.starlink.ttools.plot2.config.ConfigMap, uk.ac.starlink.ttools.plot.Range[])
      • 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