Class CartesianAxisController<P,​A>

    • Constructor Detail

      • CartesianAxisController

        public CartesianAxisController​(uk.ac.starlink.ttools.plot2.SurfaceFactory<P,​A> surfFact,
                                       uk.ac.starlink.ttools.plot2.config.ConfigKey<java.lang.String>[] axisLabelKeys)
        Constructor.
        Parameters:
        surfFact - plot surface factory
        axisLabelKeys - config keys for axis labels
    • Method Detail

      • configureForLayers

        public void configureForLayers​(LayerControl[] controls)
        Description copied from class: AxisController
        This abstract method provides a hook for implementations to adjust their GUI state based on the layer controls which will be supplying layers for them to plot.
        Specified by:
        configureForLayers in class AxisController<P,​A>
        Parameters:
        controls - layer controls expected to provide layers to be plotted on these axes
      • addLabelsTab

        protected void addLabelsTab()
        Adds the axis label configuration tab set up by this component. It's not done in the constructor so that subclasses can decide where it goes in terms of the other config tabs.
      • getLabelSpecifier

        public AutoConfigSpecifier getLabelSpecifier()
        Returns the specifier used for axis labels.
        Returns:
        axis label specifier
      • forceClearRange

        protected boolean forceClearRange​(P oldProfile,
                                          P newProfile)
        Description copied from class: AxisController
        Determines whether the change between two profiles forces an unconditional re-range of the plotting surface. This method should return true if the plotting surface will change between the old and new supplied profiles sufficiently to invalidate previously calculated auto range data.
        Specified by:
        forceClearRange in class AxisController<P,​A>
        Parameters:
        oldProfile - profile before change
        newProfile - profile after change
        Returns:
        true if a new auto-ranging is required
      • logChanged

        protected abstract boolean logChanged​(P prof1,
                                              P prof2)
        Indicates whether the scaling has changed to or from logarithmic for any of the cartesian axes between two profiles. If so, it's going to be necessary to rescale, since attempting a log plot with negative values would fail.
        Parameters:
        prof1 - first profile
        prof2 - second profile
        Returns:
        true iff some of the axes are log in prof1 and linear in prof2 or vice versa