Class CrossSectionControl

All Implemented Interfaces:
ActionListener, ItemListener, PropertyChangeListener, EventListener, HyperlinkListener, Sharable, DataChangeListener, DisplayControl, Prototypable, DisplayableData.DragAdapter, ControlListener, DisplayListener
Direct Known Subclasses:
ColorCrossSectionControl, ContourCrossSectionControl, DataTransectControl, FlowCrossSectionControl

public abstract class CrossSectionControl extends GridDisplayControl implements DisplayableData.DragAdapter
TODO: We need to be able to persist/unpersist the ViewManager so its state is saved. Class to make one vertical cross section display and its contents and controls. Also makes a JFrame with buttons used for control of the vertical cross section of one parameter in another display. Also includes contents of a CrossSectionViewManager, a local small vertical cross section display in its own window in this control frame.
Version:
$Revision: 1.173 $
Author:
IDV development team
  • Field Details

    • SHARE_XSLINE

      public static final String SHARE_XSLINE
      Identifier for sharing cross-section position
      See Also:
    • vcsDisplay

      protected DisplayableData vcsDisplay
      Displayable for depicting cross section in the control window
    • xsDisplay

      protected DisplayableData xsDisplay
      Displayable for depicting cross section in the main window
    • csSelector

      protected CrossSectionSelector csSelector
      the cross section selector
    • initStartPoint

      protected RealTuple initStartPoint
      initial starting point
    • initEndPoint

      protected RealTuple initEndPoint
      initial ending point
    • lineVisible

      protected boolean lineVisible
      _more_
    • crossSectionView

      protected CrossSectionViewManager crossSectionView
      the control window's view manager
    • displayMatrix

      protected double[] displayMatrix
      Keep around to reset zoom/pan
    • animationInfo

      protected AnimationInfo animationInfo
      animation info for the crossSectionView
    • coordTrans

      protected CoordinateSystem coordTrans
      transform to altitude
    • sizeX

      protected int sizeX
      X and Y size
    • sizeY

      protected int sizeY
      X and Y size
    • displayIs3D

      protected boolean displayIs3D
      flag for 3D display
    • dataIs3D

      protected boolean dataIs3D
      flag for 3D data
    • startCoord

      protected Coord startCoord
      starting coordinate for the cross section selector
    • endCoord

      protected Coord endCoord
      ending coordinate for the cross section selector
    • startLocation

      protected EarthLocation startLocation
      starting location in earth coordinates
    • endLocation

      protected EarthLocation endLocation
      ending location in earth coordinates
    • verticalAxisRange

      protected Range verticalAxisRange
      range for Y axis
    • levelsList

      protected List levelsList
      list of levels
    • controlPane

      protected JPanel controlPane
      _more_
  • Constructor Details

    • CrossSectionControl

      public CrossSectionControl()
      Default constructor. Sets the appropriate attribute flags.
  • Method Details

    • createXSDisplay

      protected abstract DisplayableData createXSDisplay() throws VisADException, RemoteException
      Create the DisplayableData that will be used to depict the data in the main display.
      Returns:
      depictor for data in main display
      Throws:
      VisADException - unable to create depictor
      RemoteException - unable to create depictor (shouldn't happen)
    • createVCSDisplay

      protected abstract DisplayableData createVCSDisplay() throws VisADException, RemoteException
      Create the DisplayableData that will be used to depict the data in the control's display.
      Returns:
      depictor for data in main display
      Throws:
      VisADException - unable to create depictor
      RemoteException - unable to create depictor (shouldn't happen)
    • getGridDisplayable

      public GridDisplayable getGridDisplayable()
      Get the GridDisplayable used for setting the data.
      Returns:
      data's GridDisplayable
    • getVerticalCSDisplay

      public DisplayableData getVerticalCSDisplay()
      Get the DisplayableData used for depicting data in the control's display.
      Returns:
      control's display depictor
    • getXSDisplay

      public DisplayableData getXSDisplay()
      Get the DisplayableData used for depicting data in the main display.
      Returns:
      main display depictor
    • getCrossSectionSelector

      public CrossSectionSelector getCrossSectionSelector()
      Get the selector used to position the cross section.
      Returns:
      this controls selector
    • initAfterUnPersistence

      public void initAfterUnPersistence(ControlContext vc, Hashtable properties, List preSelectedDataChoices)
      Called by the IntegratedDataViewer to initialize after this control has been unpersisted
      Specified by:
      initAfterUnPersistence in interface DisplayControl
      Overrides:
      initAfterUnPersistence in class DisplayControlImpl
      Parameters:
      vc - The context in which this control exists
      properties - Properties that may hold things
      preSelectedDataChoices - set of preselected data choices
    • getCrossSectionViewManager

      protected CrossSectionViewManager getCrossSectionViewManager()
      Get the view manager for the control window.
      Returns:
      control window's view manager
    • getViewManagerForCapture

      public ViewManager getViewManagerForCapture(String what) throws Exception
      Get the view manager for capture
      Overrides:
      getViewManagerForCapture in class DisplayControlImpl
      Parameters:
      what - the name
      Returns:
      the ViewManager to use
      Throws:
      Exception - problem getting the view manager
    • init

      public boolean init(DataChoice dataChoice) throws VisADException, RemoteException
      Initialize the control using the data choice
      Overrides:
      init in class DisplayControlImpl
      Parameters:
      dataChoice - choice specifying the data
      Returns:
      true if successful
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • addDisplaySettings

      protected void addDisplaySettings(DisplaySettingsDialog dsd)
      Add display settings for cross section controls
      Overrides:
      addDisplaySettings in class DisplayControlImpl
      Parameters:
      dsd - the dialog to add to
    • getCursorReadoutInner

      public List getCursorReadoutInner(EarthLocation el, Real animationValue, int animationStep, List<ReadoutInfo> samples) throws Exception
      Get the cursor readout info
      Overrides:
      getCursorReadoutInner in class GridDisplayControl
      Parameters:
      el - earth location
      animationValue - animation value
      animationStep - animation step
      samples - the list of samples
      Returns:
      the list of items
      Throws:
      Exception - problem reading the data
    • getSelectorAttributeFlags

      protected int getSelectorAttributeFlags()
      Return the attribute flags to apply to the cross section selector. This allows derived classes to set their own, e.g., use z position.
      Returns:
      Flags to use
    • getDataProjection

      public MapProjection getDataProjection()
      Get the projection of the data.
      Specified by:
      getDataProjection in interface DisplayControl
      Overrides:
      getDataProjection in class GridDisplayControl
      Returns:
      data projection or null
    • initDone

      public void initDone()
      Called after all initialization is finished. This sets the end points of the csSelector to the correct position and adds this as a property change listener to the csSelector.
      Overrides:
      initDone in class DisplayControlImpl
    • handleDragDirect

      public boolean handleDragDirect(VisADRay ray, boolean first, int mouseModifiers)
      Implementation of the DisplayableData.DragAdapter
      Specified by:
      handleDragDirect in interface DisplayableData.DragAdapter
      Parameters:
      ray - the view ray
      first - if this is the first time
      mouseModifiers - the mouse modifiers
      Returns:
      true
    • handleAddPoint

      public boolean handleAddPoint(float[] x)
      Handle adding a point
      Specified by:
      handleAddPoint in interface DisplayableData.DragAdapter
      Parameters:
      x - the coords
      Returns:
      true
    • doExport

      public void doExport(String what, String filename) throws Exception
      Called by ISL. Write out some data defined by the what parameter to the given file.
      Overrides:
      doExport in class GridDisplayControl
      Parameters:
      what - What is to be written out
      filename - To what file
      Throws:
      Exception - _more_
    • boxToEarth

      public EarthLocation boxToEarth(RealTuple tuple) throws RemoteException, VisADException
      Transform VisAD box coordinates to and EarthLocation
      Parameters:
      tuple - the tuple of VisAD coordinates
      Returns:
      the corresponding EarthLocation
      Throws:
      RemoteException - Java RMI Exception
      VisADException - VisAD Exception
    • constrainDragPoint

      public boolean constrainDragPoint(float[] position)
      Constrain the drag point
      Specified by:
      constrainDragPoint in interface DisplayableData.DragAdapter
      Parameters:
      position - the position
      Returns:
      true
    • getMacroNames

      protected void getMacroNames(List names, List labels)
      Add any macro name/label pairs
      Overrides:
      getMacroNames in class DisplayControlImpl
      Parameters:
      names - List of macro names
      labels - List of macro labels
    • addLabelMacros

      protected void addLabelMacros(String template, List patterns, List values)
      Add any macro name/value pairs.
      Overrides:
      addLabelMacros in class DisplayControlImpl
      Parameters:
      template - The template to use
      patterns - The macro names
      values - The macro values
    • propertyChange

      public void propertyChange(PropertyChangeEvent evt)
      Handle property change
      Specified by:
      propertyChange in interface PropertyChangeListener
      Overrides:
      propertyChange in class DisplayControlImpl
      Parameters:
      evt - The event
    • doRemove

      public void doRemove() throws RemoteException, VisADException
      Remove the cross section view component from the gui to fix the funny lock up problem on linux
      Specified by:
      doRemove in interface DisplayControl
      Overrides:
      doRemove in class DisplayControlImpl
      Throws:
      RemoteException - On badness
      VisADException - On badness
    • addPropertiesComponents

      public void addPropertiesComponents(JTabbedPane jtp)
      Add tabs to the properties dialog.
      Overrides:
      addPropertiesComponents in class DisplayControlImpl
      Parameters:
      jtp - the JTabbedPane to add to
    • doApplyProperties

      public boolean doApplyProperties()
      Apply the properties
      Overrides:
      doApplyProperties in class DisplayControlImpl
      Returns:
      true if successful
    • doMakeContents

      public Container doMakeContents()
      Called by doMakeWindow in DisplayControlImpl, which then calls its doMakeMainButtonPanel(), which makes more buttons.
      Overrides:
      doMakeContents in class DisplayControlImpl
      Returns:
      container of contents
    • getEditMenuItems

      protected void getEditMenuItems(List items, boolean forMenuBar)
      Get edit menu item
      Overrides:
      getEditMenuItems in class DisplayControlImpl
      Parameters:
      items - list of items to add to
      forMenuBar - for the menu bar
    • getDisplayTabComponent

      protected JComponent getDisplayTabComponent()
      Create the component that goes into the 'Display' tab
      Returns:
      Display tab component
    • getControlWidgets

      public void getControlWidgets(List controlWidgets) throws VisADException, RemoteException
      Get the control widgets specific to this control
      Overrides:
      getControlWidgets in class DisplayControlImpl
      Parameters:
      controlWidgets - list of widgets to add to.
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • setData

      protected boolean setData(DataChoice dataChoice) throws VisADException, RemoteException
      Called when the user asked for a new kind of parameter to be displayed in a pre-existing display of this class, with other kind of data already displayed there. Reset new parameter choice's data into the displayables. Do over everything necessary to load in a new kind of data.
      Overrides:
      setData in class DisplayControlImpl
      Parameters:
      dataChoice - specification of the data
      Returns:
      true if successful
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • updateViewParameters

      protected void updateViewParameters() throws VisADException, RemoteException
      This method is used to update anything that needs to be updated in the CrossSectionViewManager. Subclasses should override this if they need to do anything special.
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • setStartCoord

      public void setStartCoord(Coord c)
      Set the starting coordinate of the cross section selector. Used by XML persistence.
      Parameters:
      c - starting coordinate
    • setEndCoord

      public void setEndCoord(Coord c)
      Set the ending coordinate of the cross section selector. Used by XML persistence.
      Parameters:
      c - ending coordinate
    • relocateDisplay

      public void relocateDisplay(ucar.unidata.geoloc.LatLonRect originalBounds, ucar.unidata.geoloc.LatLonRect newBounds, boolean useDataProjection)
      When we relocate a bundle this gets called to relocate the display This method gets overwritten by the probe and cross section displays so they can move their selection points to a new location
      Overrides:
      relocateDisplay in class DisplayControlImpl
      Parameters:
      originalBounds - The original bounds of the datasource
      newBounds - The relocated bounds of the datasource
      useDataProjection - _more_
    • createCrossSectionSelector

      protected void createCrossSectionSelector() throws VisADException, RemoteException
      Make a Selector line which shows and controls where cross section is
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • createCrossSectionSelector

      protected void createCrossSectionSelector(EarthLocation loc1, EarthLocation loc2) throws VisADException, RemoteException
      Create the cross section selector
      Parameters:
      loc1 - the starting location
      loc2 - the ending location
      Throws:
      RemoteException - Java RMI Exception
      VisADException - VisAD Exception
    • createCrossSectionSelector1

      protected void createCrossSectionSelector1(RealTuple start, RealTuple end) throws VisADException, RemoteException
      Create the cross section selector
      Parameters:
      start - the starting location
      end - the ending location
      Throws:
      RemoteException - Java RMI Exception
      VisADException - VisAD Exception
    • convertToDisplay

      public Coord convertToDisplay(Coord from) throws VisADException, RemoteException
      Convert a Coord (x, y, z) in grid index values to a Coord in VisAD internal values; -1.0 to 1.0 in VisAD box. Goes via intermediate lat,long,altitude position.
      Parameters:
      from - a Coord (x, y, z) in grid index values.
      Returns:
      converted coordinates
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • receiveShareData

      public void receiveShareData(Sharable from, Object dataId, Object[] data)
      Called when shared data is received.
      Specified by:
      receiveShareData in interface Sharable
      Overrides:
      receiveShareData in class DisplayControlImpl
      Parameters:
      from - object sharing data
      dataId - type of data being shared
      data - the sharable data
    • applyZPosition

      protected void applyZPosition() throws VisADException, RemoteException
      Apply the Z position. If the selector is in lat/lon/alt space, we need to transform from XYZ
      Overrides:
      applyZPosition in class DisplayControlImpl
      Throws:
      RemoteException - Java RMI Exception
      VisADException - VisADException
    • setPosition

      protected void setPosition(EarthLocation startLoc, EarthLocation endLoc) throws VisADException, RemoteException
      Set the position of the selector
      Parameters:
      startLoc - Start location
      endLoc - End location
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • getSelectorAltitude

      public double getSelectorAltitude()
      Get the selector altitude from the Z position
      Returns:
      the altitude
    • crossSectionChanged

      public void crossSectionChanged()
      Load or reload data for a cross section.
    • projectionChanged

      public void projectionChanged()
      Respond to a change in the display's projection. In this case we resample at the new location.
      Specified by:
      projectionChanged in interface DisplayControl
      Overrides:
      projectionChanged in class DisplayControlImpl
    • viewpointChanged

      public void viewpointChanged()
      Noop for the ControlListener interface
      Overrides:
      viewpointChanged in class DisplayControlImpl
    • getViewMenuItems

      protected void getViewMenuItems(List menus, boolean forMenuBar)
      Add the relevant view menu items into the list
      Overrides:
      getViewMenuItems in class DisplayControlImpl
      Parameters:
      menus - List of menu items
      forMenuBar - Is this for the menu in the window's menu bar or for a popup menu in the legend
    • getCrossSectionViewLabel

      protected String getCrossSectionViewLabel()
      Get the label for the CrossSectionView
      Returns:
      return the name of the cross section view
    • shouldAddControlListener

      protected boolean shouldAddControlListener()
      A hook to allow derived classes to tell us to add this as a control listener
      Overrides:
      shouldAddControlListener in class GridDisplayControl
      Returns:
      Add as control listener
    • transectChanged

      public void transectChanged()
      Method called when a transect changes.
      Specified by:
      transectChanged in interface DisplayControl
      Overrides:
      transectChanged in class DisplayControlImpl
    • getLineCoords

      protected EarthLocation[] getLineCoords() throws VisADException, RemoteException
      Get the line coordinates as an array of EarthLocations
      Returns:
      the locations
      Throws:
      RemoteException - Java RMI Exception
      VisADException - Problem creating EarthLocations
    • loadDataFromLine

      protected void loadDataFromLine() throws VisADException, RemoteException
      Create and loads a 2D FieldImpl from the existing getGridDataInstance() at the position indicated by the controlling Selector line end points;
      Throws:
      VisADException - VisAD failure.
      RemoteException - Java RMI failure.
    • loadData

      protected void loadData(FieldImpl fieldImpl) throws VisADException, RemoteException
      Load the external display and the local display with this data of a vertical cross section.
      Parameters:
      fieldImpl - the data for the depiction
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • load2DData

      protected void load2DData(FieldImpl twoDData) throws VisADException, RemoteException
      Load the 2D data into the appropriate display(s)
      Parameters:
      twoDData - cross section slice converted to 2D
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • applySmoothing

      protected void applySmoothing() throws VisADException, RemoteException
      Use the value of the smoothing type and weight to subset the data.
      Overrides:
      applySmoothing in class DisplayControlImpl
      Throws:
      RemoteException - Java RMI problem
      VisADException - VisAD problem
    • reScale

      protected void reScale() throws VisADException, RemoteException
      Call to reScale the display. Does the right thing depending on the value of autoScaleYAxis.
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • setVerticalAxisRange

      public void setVerticalAxisRange(Range range)
      Set the range on the Y Axis of the cross section
      Parameters:
      range - Range of values in units of Y Axis. May be null
    • getVerticalAxisRange

      public Range getVerticalAxisRange()
      Get the range on the vertical Axis of the cross section
      Returns:
      range of values in units of Y Axis. May be null
    • setYAxisRange

      protected void setYAxisRange(XSDisplay display, Range range) throws VisADException, RemoteException
      Methods to do the things that need to be done when the data range changes.
      Parameters:
      display - the display to modify
      range - Range of values in units of Y Axis. May be null
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • make2DData

      protected FieldImpl make2DData(FieldImpl xsectSequence) throws VisADException, RemoteException
      Make a FieldImpl suitable for the plain 2D vert cross section display; of form (time -> ((x) -> parm)); new x axis positions are in distance along cross section from one end. override from superclass since we are dealing only with 2D data.
      Parameters:
      xsectSequence - the time sequence of cross section data
      Returns:
      xsectSequence transformed to 2D
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • getCrossSectionVerticalRange

      public Range getCrossSectionVerticalRange(GriddedSet domainSet) throws VisADException
      _more_
      Parameters:
      domainSet - _more_
      Returns:
      _more_
      Throws:
      VisADException - _more_
    • getDefaultVerticalRange

      public Range getDefaultVerticalRange()
      _more_
      Returns:
      _more_
    • getDataVerticalRange

      public Range getDataVerticalRange()
      _more_
      Returns:
      _more_
    • make2DDomainSet

      protected GriddedSet make2DDomainSet(GriddedSet domainSet) throws VisADException, RemoteException
      Make the domain for the 2D grid
      Parameters:
      domainSet - the domain to be 2D'ized
      Returns:
      the 2D ized grid
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • getZPositionSliderLabel

      protected String getZPositionSliderLabel()
      Get the label for the Z position slider.
      Overrides:
      getZPositionSliderLabel in class DisplayControlImpl
      Returns:
      label
    • setAnimationInfo

      public void setAnimationInfo(AnimationInfo value)
      Set the AnimationInfo property.
      Overrides:
      setAnimationInfo in class DisplayControlImpl
      Parameters:
      value - The new value for AnimationInfo
    • getAnimationInfo

      public AnimationInfo getAnimationInfo()
      Get the AnimationInfo property.
      Overrides:
      getAnimationInfo in class DisplayControlImpl
      Returns:
      The AnimationInfo
    • createXFromLatLon

      protected float[] createXFromLatLon(float[][] latlon, int numNeeded, int lonIndex)
      From an array of latitudes and longitudes, calculate an array of distance (in km) that corresponds to the distance from the first point to the numNeeded point. NB: In this implementation, the distance from the origin is calculated as the sum of the distances between each point in between.
      Parameters:
      latlon - array of lat lon values in degrees (order doesn't matter)
      numNeeded - number of distances to calculate
      lonIndex - which of the indices in latlon is longitude
      Returns:
      array of distances each lat/lon point is from the origin.
    • applyPreferences

      public void applyPreferences()
      Apply preferences to this control. Subclasses should override if needed. This is a noop in this class.
      Specified by:
      applyPreferences in interface DisplayControl
      Overrides:
      applyPreferences in class DisplayControlImpl
    • addTopographyMap

      protected void addTopographyMap() throws VisADException, RemoteException
      Wrapper around GridDisplayControl.addTopographyMap(int) to allow subclasses to set their own index.
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD error
    • updateLocationLabel

      protected void updateLocationLabel()
      Called when a change in position occurs
    • setAllowAutoScale

      public void setAllowAutoScale(boolean value)
      Set the AutoScale property.
      Parameters:
      value - The new value for AutoScale
    • getAllowAutoScale

      public boolean getAllowAutoScale()
      Get the AutoScale property.
      Returns:
      The AutoScale
    • setAutoScaleYAxis

      public void setAutoScaleYAxis(boolean value)
      Set the AutoScale property.
      Parameters:
      value - The new value for AutoScale
    • getAutoScaleYAxis

      public boolean getAutoScaleYAxis()
      Get the AutoScale property.
      Returns:
      The AutoScale
    • getLineRange

      public Range getLineRange()
      get line range -- should be overridden by sub classes that actually set the value
      Returns:
      _more_
    • setAutoUpdate

      public void setAutoUpdate(boolean value)
      Set the AutoUpdate property.
      Parameters:
      value - The new value for AutoUpdate
    • getAutoUpdate

      public boolean getAutoUpdate()
      Get the AutoUpdate property.
      Returns:
      The AutoUpdate
    • setCrossSectionView

      public void setCrossSectionView(CrossSectionViewManager value)
      Set the CrossSectionView property.
      Parameters:
      value - The new value for CrossSectionView
    • getCrossSectionView

      public CrossSectionViewManager getCrossSectionView()
      Get the CrossSectionView property.
      Returns:
      The CrossSectionView
    • setForeground

      public void setForeground(Color color)
      Set the foreground color
      Parameters:
      color - new color deprecated Keep this around for old bundles
    • setBackground

      public void setBackground(Color color)
      Set the background color
      Parameters:
      color - new color deprecated Keep this around for old bundles
    • setDisplayMatrix

      public void setDisplayMatrix(double[] value)
      Set the DisplayMatrix property.
      Parameters:
      value - The new value for DisplayMatrix deprecated Keep this around for old bundles
    • canExportData

      public boolean canExportData()
      Can this display control write out data.
      Overrides:
      canExportData in class DisplayControlImpl
      Returns:
      true if it can
    • getDisplayedData

      protected Data getDisplayedData() throws VisADException, RemoteException
      Get the DisplayedData
      Overrides:
      getDisplayedData in class DisplayControlImpl
      Returns:
      the data or null
      Throws:
      RemoteException - problem reading remote data
      VisADException - problem gettting data
    • getInitialZPosition

      protected double getInitialZPosition()
      Get the initial Z position
      Overrides:
      getInitialZPosition in class DisplayControlImpl
      Returns:
      the position in Z space
    • setStartPoint

      public void setStartPoint(RealTuple p)
      Set the probe position property; used by XML persistence.
      Parameters:
      p - probe position
    • getStartPoint

      public RealTuple getStartPoint() throws VisADException, RemoteException
      Set the probe position property; used by XML persistence.
      Returns:
      probe position - may be null.
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD Error
    • setEndPoint

      public void setEndPoint(RealTuple p)
      Set the probe position property; used by XML persistence.
      Parameters:
      p - probe position
    • getEndPoint

      public RealTuple getEndPoint() throws VisADException, RemoteException
      Set the probe position property; used by XML persistence.
      Returns:
      probe position - may be null.
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD Error
    • setLineVisible

      public void setLineVisible(boolean value)
      Set the LineVisible property.
      Parameters:
      value - The new value for LineVisible
    • getLineVisible

      public boolean getLineVisible()
      Get the LineVisible property.
      Returns:
      The LineVisible
    • setInitAlt

      public void setInitAlt(double value)
      _more_
      Parameters:
      value - _more_
    • setInitLat2

      public void setInitLat2(double value)
      Set the Lat2 property.
      Parameters:
      value - The new value for Lat2
    • setInitLon2

      public void setInitLon2(double value)
      Set the Lon2 property.
      Parameters:
      value - The new value for Lon2
    • setInitLat1

      public void setInitLat1(double value)
      Set the InitLat1 property.
      Parameters:
      value - The new value for InitLat1
    • setInitLon1

      public void setInitLon1(double value)
      Set the Lon1 property.
      Parameters:
      value - The new value for Lon1
    • getChangeParameterLabel

      protected String getChangeParameterLabel()
      Return the appropriate label text for the menu.
      Overrides:
      getChangeParameterLabel in class DisplayControlImpl
      Returns:
      the label text
    • addNewData

      protected void addNewData(List newChoices) throws VisADException, RemoteException
      Handle the newly added data from view or edit menu
      Overrides:
      addNewData in class DisplayControlImpl
      Parameters:
      newChoices - new list of choices
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD Error
    • doMakeChangeParameterMenuItem

      protected JMenuItem doMakeChangeParameterMenuItem()
      Utility to make the menu item for changing the data choice
      Overrides:
      doMakeChangeParameterMenuItem in class DisplayControlImpl
      Returns:
      The menu item
    • processNewDataV

      public void processNewDataV(List newChoices) throws VisADException, RemoteException
      Override base class method which is called when the user has selected new data choices.
      Parameters:
      newChoices - new list of choices
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD Error
    • processNewDataV

      public void processNewDataV(DataChoice dc, CrossSectionControl csc) throws VisADException, RemoteException
      Override base class method which is called when the user has selected new data choices.
      Parameters:
      dc - new datachoice
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD Error
    • processNewData

      protected void processNewData(DataChoice dc, CrossSectionControl csc) throws VisADException, RemoteException
      Override base class method which is called when the user has selected new data choices.
      Parameters:
      dc - new choice
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD Error
    • processNewData

      protected void processNewData(List newChoices) throws VisADException, RemoteException
      Override base class method which is called when the user has selected new data choices.
      Parameters:
      newChoices - new choice
      Throws:
      RemoteException - Java RMI error
      VisADException - VisAD Error
    • removeDisplayables

      public void removeDisplayables(String dcName) throws RemoteException, VisADException
      Remove the naming displays from control
      Throws:
      RemoteException
      VisADException
    • removeControl

      public void removeControl(String name) throws RemoteException, VisADException
      Remove the datachoice from control
      Throws:
      RemoteException
      VisADException
    • getControlList

      public HashMap<String,CrossSectionControl> getControlList()
      get the controlList property.
      Returns:
      controlList
    • setControlList

      public void setControlList(HashMap<String,CrossSectionControl> cList)
      Set the controlList property.
      Parameters:
      cList - The new value for controlList
    • reSetTimeHeightAltitudeUnit

      protected void reSetTimeHeightAltitudeUnit(Unit aUnit) throws VisADException
      This gets called by changing the altitude unit
      Parameters:
      aUnit - _more_
      Throws:
      VisADException
    • getPressureLabels

      public Hashtable getPressureLabels(String[] labels) throws VisADException
      get y (altitude) axis pressure values hashtable
      Parameters:
      labels - pressure labels
      Throws:
      VisADException - VisAD error
    • getAltUnit

      public Unit getAltUnit()
      get the altUnit property.
      Returns:
      unit
    • setAltUnit

      public void setAltUnit(Unit unit)
      set the altUnit property.