Class CubeAxisController

java.lang.Object
uk.ac.starlink.topcat.plot2.AxisController<uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.CubeAspect>
uk.ac.starlink.topcat.plot2.CartesianAxisController<uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.CubeAspect>
uk.ac.starlink.topcat.plot2.CubeAxisController
All Implemented Interfaces:
Configger

public class CubeAxisController extends CartesianAxisController<uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.CubeAspect>
Axis control for cube plot. This operates in two modes, one isotropic (with geometry specified using spherical polar coordinates) and one at least potentially anisotropic (with geometry specified using Cartesian coordinates). Which to use is specified at construction time.
Since:
14 Mar 2013
Author:
Mark Taylor
  • Constructor Details

    • CubeAxisController

      public CubeAxisController(boolean isIso)
      Constructor.
      Parameters:
      isIso - true for isotropic, false for anisotropic
  • Method Details

    • setLatestSurface

      public void setLatestSurface(uk.ac.starlink.ttools.plot2.Surface surface)
      Description copied from class: AxisController
      Accepts information about the latest plotting surface to be plotted by the panel associated with this controller. This method is intended for passing information back to this controller, which does not otherwise have access to the asynchronously constructed Surface object it has configured, it is not an instruction to adjust the current state.

      The default implementation does nothing, but subclasses may override it to acquire information about plot state.

      Overrides:
      setLatestSurface in class AxisController<uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.CubeAspect>
      Parameters:
      surface - latest plotting surface.
    • getConfig

      public uk.ac.starlink.ttools.plot2.config.ConfigMap getConfig()
      Description copied from class: AxisController
      Returns the configuration defined by all this object's controls.
      Specified by:
      getConfig in interface Configger
      Overrides:
      getConfig in class AxisController<uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.CubeAspect>
      Returns:
      config map
    • logChanged

      protected boolean logChanged(uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile prof1, uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile prof2)
      Description copied from class: CartesianAxisController
      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.
      Specified by:
      logChanged in class CartesianAxisController<uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.CubeAspect>
      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
    • forceClearRange

      protected boolean forceClearRange(uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile prof1, uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile prof2)
      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.
      Overrides:
      forceClearRange in class CartesianAxisController<uk.ac.starlink.ttools.plot2.geom.CubeSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.CubeAspect>
      Parameters:
      prof1 - profile before change
      prof2 - profile after change
      Returns:
      true if a new auto-ranging is required