edu.wisc.ssec.mcidasv.control
Class RGBCompositeControl

java.lang.Object
  extended by ucar.unidata.collab.SharableImpl
      extended by ucar.unidata.idv.control.DisplayControlBase
          extended by ucar.unidata.idv.control.DisplayControlImpl
              extended by edu.wisc.ssec.mcidasv.control.RGBCompositeControl
All Implemented Interfaces:
ActionListener, ItemListener, PropertyChangeListener, EventListener, HyperlinkListener, Sharable, DataChangeListener, DisplayControl, Prototypable, ControlListener, DisplayListener

public class RGBCompositeControl
extends DisplayControlImpl


Nested Class Summary
private  class RGBCompositeControl.ColorMapListener
           
 
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
 
Field Summary
private  double bluGamma
           
private  JTextField bluGammaTxtFld
           
private  JTextField bluHighTxtFld
           
private  JTextField bluLowTxtFld
           
private  ScalarMap bluMap
           
private  double[] bluRange
           
(package private)  float[][] bluTable
           
private  DisplayMaster displayMaster
           
private  double gamma
           
private  JTextField gammaTxtFld
           
private  double grnGamma
           
private  JTextField grnGammaTxtFld
           
private  JTextField grnHighTxtFld
           
private  JTextField grnLowTxtFld
           
private  ScalarMap grnMap
           
private  double[] grnRange
           
(package private)  float[][] grnTable
           
private  ImageRGBDisplayable imageDisplay
          Displayable for the data
private  FieldImpl imageField
           
(package private)  double[] initBluRange
           
(package private)  double[] initGrnRange
           
(package private)  double[] initRedRange
           
private  MapProjection mapProjection
           
private  double redGamma
           
private  JTextField redGammaTxtFld
           
private  JTextField redHighTxtFld
           
private  JTextField redLowTxtFld
           
private  ScalarMap redMap
           
private  double[] redRange
           
(package private)  float[][] redTable
           
 
Fields inherited from class ucar.unidata.idv.control.DisplayControlImpl
categories, colorScaleInfo, colorScales, contourInfo, contourInfoParams, contourWidget, controlContext, ctw, dataSelection, defaultView, defaultViewManager, DISPLAY_LIST_NAME, displayListTable, displayListUsesColor, displayMasters, displayUnit, helpUrl, initNoteText, instantiatedWithNoData, noteTextArea, noteWrapper, paramName, requestProperties, selectRangeWidget, settingVisibility, sharables, showNoteText, skipSlider, version, viewManagers, ZFUDGE
 
Fields inherited from class ucar.unidata.idv.control.DisplayControlBase
CMD_BARBSIZE, CMD_COLORS, CMD_COLORTABLE, CMD_INTERVAL, CMD_LEVEL, CMD_LINEWIDTH, CMD_POPUP, CMD_REMOVE, DEFAULT_POINT_SIZE, DEFAULT_SAMPLING_MODE, FIND_ALL, FIND_CATEGORY, FIND_CLASS, FIND_SPECIAL, FIND_THIS, FIND_WITHDATA, FIND_WITHTHISDATA, FIND_WITHTHISFIELD, FIND_WITHTHISVIEW, FLAG_COLOR, FLAG_COLORTABLE, FLAG_COLORUNIT, FLAG_CONTOUR, FLAG_DATACONTROL, FLAG_DISPLAYUNIT, FLAG_GRIDTRAJECTORY, FLAG_LINEWIDTH, FLAG_NONE, FLAG_SELECTRANGE, FLAG_SKIPFACTOR, FLAG_SMOOTHING, FLAG_TEXTUREQUALITY, FLAG_TIMERANGE, FLAG_ZPOSITION, GRID_INSETS, ICON_LOCK, ICON_REMOVE, ICON_UNLOCK, LABEL_NONE, log_, MACRO_DATASOURCENAME, MACRO_DISPLAYNAME, MACRO_DISPLAYUNIT, MACRO_FHOUR, MACRO_LONGNAME, MACRO_POSITION, MACRO_SHORTNAME, MACRO_STATION, MACRO_TIMESTAMP, MACRO_VALUE, NEAREST_NEIGHBOR, PREF_DISPLAYLIST_TEMPLATE, PREF_EXTRALABEL_TEMPLATE, PREF_LEGENDLABEL_TEMPLATE, PROP_REMOVED, SETTINGS_GROUP_DISPLAY, SETTINGS_GROUP_FLAGS, SHARE_CHOICES, SHARE_COLOR, SHARE_COLORSCALE, SHARE_COLORTABLE, SHARE_DISPLAYUNIT, SHARE_POSITION, SHARE_SELECTRANGE, SHARE_SKIPVALUE, SHARE_TRANSECT, SHARE_VISIBILITY, WEIGHTED_AVERAGE
 
Fields inherited from interface ucar.unidata.idv.DisplayControl
BOTTOM_LEGEND, DEFAULT_PROBEFORMAT, PREF_PREFIX, PREF_PROBEFORMAT, PREF_REMOVEONWINDOWCLOSE, PREF_SAMPLING_MODE, PREF_STANDALONE_REMOVEONCLOSE, PREF_STANDALONE_REMOVEONCLOSE_ASK, PROP_LEGENDICON, RASTERMODE_SHOWALL, RASTERMODE_SHOWNONRASTER, RASTERMODE_SHOWRASTER, SIDE_LEGEND
 
Constructor Summary
RGBCompositeControl()
           
 
Method Summary
(package private)  boolean checkRange()
           
 Container doMakeContents()
          Make Gui contents
 double getBluGamma()
           
 double[] getBluRange()
           
 MapProjection getDataProjection()
          get MapProjection of data to display
 double getGamma()
           
 double getGrnGamma()
           
 double[] getGrnRange()
           
protected  ColorTable getInitialColorTable()
          A hook so derived classes can return a colortable.
 double getRedGamma()
           
 double[] getRedRange()
           
 float[][] getZeroOutArray(float[][] array)
           
 boolean init(DataChoice dataChoice)
          Initialize this instance according to a data choice.
 void initDone()
          Called after all initialization has been done.
 void setBluGamma(double gamma)
           
 void setBluRange(double[] range)
           
 void setGamma(double gamma)
           
 void setGrnGamma(double gamma)
           
 void setGrnRange(double[] range)
           
 void setRedGamma(double gamma)
           
 void setRedRange(double[] range)
           
private  void updateBluGamma(double gamma)
           
private  void updateBluRange(double lo, double hi)
           
private  void updateGamma(double gamma)
           
private  void updateGrnGamma(double gamma)
           
private  void updateGrnRange(double lo, double hi)
           
private  void updateRedGamma(double gamma)
           
private  void updateRedRange(double lo, double hi)
           
 
Methods inherited from class ucar.unidata.idv.control.DisplayControlImpl
actionPerformed, activateDisplays, addAttributedDisplayable, addAttributedDisplayable, addAttributedDisplayable, addAttributeFlags, addCheckBoxSettings, addDataChoice, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayMaster, addDisplaySettings, addLabelMacros, addNewData, addNoteText, addPropertiesComponents, addPropertyChangeListener, addRemovable, addSharable, addTimeModeWidget, addToControlContext, addToRangeMenu, addToRangeMenu, addToRangeMenu, addViewManager, appendDataChoices, applyAttributesToDisplayables, applyColor, applyColorScaleInfo, applyColorTable, applyColorUnit, applyContourInfo, applyDisplaySetting, applyDisplayUnit, applyLineWidth, applyPreferences, applyProperties, applyProperties, applyPropertyValues, applyRange, applySelectRange, applySkipFactor, applySmoothing, applyTextureQuality, applyTimeRange, applyZPosition, boundsClose, canBeDocked, canExportData, canSaveDataInCache, captureWindow, centerOnDisplay, changeColorUnit, changeDisplayUnit, checkFlag, checkIfDataOk, checkImageSize, clearDataInstance, clearPrototype, clearViewManagers, close, colorUnitChanged, controlChanged, convertColorRange, convertRange, createDisplayListDisplayable, createIdvWindow, dataChanged, deactivateDisplays, debug, displayableToFront, displayChanged, displayControlFailed, displayUnitChanged, doApplyProperties, doExport, doInitialUpdateLegendAndList, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeDataInstance, doMakeMenuBar, doMakeMenuBarMenus, doMakePointSizeWidget, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, doMakeTextureSlider, doMakeVisibilityControl, doMakeWidgetComponent, doMakeWindow, doMakeZPositionSlider, doRemove, exportDisplayedData, findDisplayInfo, findDisplays, findDisplays, firePropertyChangeEvent, firstFrameDone, formatForCursorReadout, getActive, getAnimation, getAnimation, getAnimation, getAnimation, getAnimationInfo, getAnimationWidget, getAttributeFlags, getCachedData, getCanDoRemoveAll, getCategories, getChangeParameterLabel, getCollapseLegend, getColor, getColorDimness, getColorScaleInfo, getColorTable, getColorTableForDisplayable, getColorTableToApply, getColorTableWidget, getColorUnit, getColorUnitName, getColorWidgetLabel, getComponentHolder, getContents, getContourInfo, getControlChangeSleepTime, getControlContext, getControlMenus, getControlWidgets, getCursorReadout, getCursorReadoutInner, getCursorReadoutInner, getData, getDataChoice, getDataChoices, getDataForDisplayList, getDataInstance, getDataInstance, getDataProjectionForMenu, getDataProjectionLabel, getDataSelection, getDataSources, getDataTimeRange, getDataTimeRange, getDataTimeSet, getDebugDetails, getDefaultColorScaleInfo, getDefaultDisplayListTemplate, getDefaultDistanceUnit, getDefaultFastRendering, getDefaultSamplingMode, getDefaultSamplingModeValue, getDefaultView, getDefaultViewDescriptor, getDefaultViewManager, getDetailsContents, getDisplayAltitudeType, getDisplayCategory, getDisplayCenter, getDisplayConventions, getDisplayedData, getDisplayId, getDisplayInfos, getDisplayListColor, getDisplayListData, getDisplayListDisplayable, getDisplayListTemplate, getDisplayMaster, getDisplayName, getDisplayScale, getDisplayUnit, getDisplayUnit, getDisplayUnitName, getDisplayVisibility, getDoCursorReadout, getEditMenuItems, getEditMenuItems, getExpandedInTabs, getExtraLabelTemplate, getExtraLegendComponent, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getGrid, getGrid, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialFastRendering, getInitialRange, getInitialZPosition, getInternalAnimation, getInternalAnimation, getIsRaster, getIsTimeDriver, getLabel, getLastFileMenuItems, getLegendButtons, getLegendComponent, getLegendLabel, getLegendLabels, getLegendLabelTemplate, getLegendToolTip, getLineWidth, getLineWidthWidget, getLineWidthWidgetLabel, getLockVisibilityToggle, getLongParamName, getMacroNames, getMainPanel, getMainPanelSize, getMakeWindow, getMapDisplay, getMapViewManager, getMapViewProjection, getMenuLabel, getMyDataChoices, getNavigatedDisplay, getNoteText, getObjectStore, getOkToFireEvents, getOldColorTableOrInitialColorTable, getOriginalDataChoicesLabel, getOuterContents, getPointSize, getProperty, getProperty, getPropertyDisplayName, getRange, getRangeForColorTable, getRangeToApply, getRawDataUnit, getRequestProperties, getSamplingModeName, getSamplingModeValue, getSamplingModeValue, getSaveMenuItems, getSelectRange, getSelectRangeEnabled, getSelectRangeWidget, getSettingsPanel, getShortParamName, getShowInDisplayList, getShowInLegend, getShowInTabs, getShowNoteText, getSkipValue, getSkipWidgetLabel, getSmoothingFactor, getSmoothingType, getSomeAnimation, getStore, getTemplateName, getTextureQuality, getTextureQualityLabel, getTimeSet, getTitle, getTransientProperty, getUnitForColor, getUseFastRendering, getUsesTimeDriver, getUseTimesInAnimation, getVersion, getVerticalValue, getViewAnimation, getViewContext, getViewer, getViewManager, getViewManager, getViewManager, getViewManagerClassNames, getViewManagerForCapture, getViewManagers, getViewMenuItems, getViewMenuItems, getVisbilityAnimationPause, getWasUnPersisted, getWindow, getWindowSize, getWindowVisible, getWindowX, getWindowY, getZPosition, getZPositionSliderLabel, guiExported, guiImported, handleDisplayChanged, handleWindowClosing, hasMapProjection, hasTimeMacro, haveDataTimes, haveParameterDefaults, hide, hyperlinkUpdate, inGlobeDisplay, init, init, init, initAfterUnPersistence, initAfterUnPersistence, initAsPrototype, initAsTemplate, initBasic, initializeWithNewData, initWindow, isDisplay3D, isDisplayUnitAlsoColorUnit, isGuiShown, isInitDone, isInTransectView, isInViewManager, itemStateChanged, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeRemoveButton, moveTo, notifyViewManagersOfChange, parseProperties, popup, popupDataDialog, popupDataDialog, popupDataDialog, processRequestProperties, projectionChanged, propertyChange, putTransientProperty, reallySetAttributeFlags, receiveShareData, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, removeDataChoice, removeDisplayable, removeDisplayables, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, resetData, resetDimness, resetViewManager, revertToDefaultColorTable, revertToDefaultColorTable, revertToDefaultRange, revertToDefaultRange, saveAsFavorite, saveAsParameterDefaults, saveAsPrototype, saveAsTemplate, saveDataChoiceInCache, saveImage, selectDataChoices, setAnimationInfo, setAnimationSet, setAttributeFlags, setCachedData, setCanDoRemoveAll, setCategories, setCollapseLegend, setColor, setColorBrighter, setColorDimmer, setColorDimness, setColorScaleInfo, setColorScaleVisible, setColorTable, setColorTable, setColorTableName, setColorUnit, setColorUnitName, setComponentHolder, setContents, setContourInfo, setContourInfoParams, setData, setData, setDataChoices, setDataInstance, setDataInstances, setDataSelection, setDataTimeRange, setDefaultSamplingMode, setDefaultView, setDisplayableVisibility, setDisplayableVisiblity, setDisplayActive, setDisplayCategory, setDisplayId, setDisplayInactive, setDisplayListColor, setDisplayListColor, setDisplayListProperties, setDisplayListTemplate, setDisplayName, setDisplayUnit, setDisplayUnitName, setDisplayVisibility, setDoCursorReadout, setExpandedInTabs, setExtraLabelTemplate, setHadDataChoices, setHelpUrl, setId, setInitDataChoices, setInitialSettings, setInitialViewManager, setIsRaster, setIsTimeDriver, setLabelAsPreference, setLegendBackground, setLegendForeground, setLegendLabel, setLegendLabelTemplate, setLineWidth, setLockVisibilityToggle, setMainPanelDimensions, setMainPanelSize, setMakeWindow, setName, setNameFromUser, setNewColorUnit, setNewDisplayUnit, setNoteText, setOkToFireEvents, setOriginalDataChoicesLabel, setParamName, setPersistedVisadData, setPointSize, setProjectionInView, setProjectionInView, setProperty, setRange, setRange, setSelectRange, setSelectRangeEnabled, setSettingsDisplayUnit, setSharedColorScaleInfo, setShowInDisplayList, setShowInLegend, setShowInTabs, setShowNoteText, setSkipValue, setSmoothingFactor, setSmoothingType, setTemplateName, setTextureQuality, setTitle, setUnitForColor, setUseFastRendering, setUsesTimeDriver, setUseTimesInAnimation, setVersion, setViewer, setViewManagerClassNames, setVisbilityAnimationPause, setWindowSize, setWindowVisible, setWindowX, setWindowY, setZPosition, setZPosition, shouldAddAnimationListener, shouldAddControlListener, shouldAddDisplayListener, shouldApplyFastRendering, shouldBeDocked, shouldWindowBeVisible, show, showColorControlWidget, showColorDialog, showColorDialog, showColorScaleDialog, showColorScales, showColorSwatches, showContourPropertiesDialog, showDetails, showDisplaySettingsDialog, showHelp, showLegendMenu, showNormalCursor, showProperties, showTimeRangeDialog, showWaitCursor, timeChanged, toFront, toggleNoteTextArea, toggleVisibilityForVectorGraphicsRendering, toggleWindow, toString, transectChanged, updateAnimation, updateDataInstance, updateDataSelection, updateDisplayList, updateGridDataInstance, updateLegendAndList, updateLegendLabel, updateLockButton, useSmoothingFactor, useZPosition, viewManagerChanged, viewManagerDestroyed, viewpointChanged, writeTestArchive, xxxsetDisplayActive, zSliderChanged
 
Methods inherited from class ucar.unidata.idv.control.DisplayControlBase
boxToEarth, boxToEarth, boxToEarth, boxToEarth, boxToEarth, boxToScreen, calculateRectangle, createStationTfo, earthToBox, earthToBox, earthToBoxTuple, earthToScreen, formatLevels, getLabeledReal, getLevelReal, getScreenCenter, getSelectedStation, getTmpProperty, isLeftButtonDown, logException, logException, makeEarthLocation, putTmpProperty, removeTmpProperty, screenToBox, screenToBox, screenToEarth, setStations, setStations, toBox, toEarth, userErrorMessage, userMessage
 
Methods inherited from class ucar.unidata.collab.SharableImpl
applySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getReceiveShareTime, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, removeSharable, setReceiveShareTime, setShareGroup, setSharing, setUniqueId, showSharableDialog
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ucar.unidata.idv.DisplayControl
getTmpProperty, putTmpProperty, removeTmpProperty
 
Methods inherited from interface ucar.unidata.collab.Sharable
getReceiveShareTime, getShareGroup, getSharing, getUniqueId, setReceiveShareTime
 

Field Detail

imageDisplay

private ImageRGBDisplayable imageDisplay
Displayable for the data


displayMaster

private DisplayMaster displayMaster

redMap

private ScalarMap redMap

grnMap

private ScalarMap grnMap

bluMap

private ScalarMap bluMap

redTable

float[][] redTable

grnTable

float[][] grnTable

bluTable

float[][] bluTable

redRange

private final double[] redRange

grnRange

private final double[] grnRange

bluRange

private final double[] bluRange

initRedRange

final double[] initRedRange

initGrnRange

final double[] initGrnRange

initBluRange

final double[] initBluRange

imageField

private FieldImpl imageField

mapProjection

private MapProjection mapProjection

gamma

private double gamma

redGamma

private double redGamma

grnGamma

private double grnGamma

bluGamma

private double bluGamma

gammaTxtFld

private final JTextField gammaTxtFld

redGammaTxtFld

private final JTextField redGammaTxtFld

grnGammaTxtFld

private final JTextField grnGammaTxtFld

bluGammaTxtFld

private final JTextField bluGammaTxtFld

redLowTxtFld

private final JTextField redLowTxtFld

redHighTxtFld

private final JTextField redHighTxtFld

grnLowTxtFld

private final JTextField grnLowTxtFld

grnHighTxtFld

private final JTextField grnHighTxtFld

bluLowTxtFld

private final JTextField bluLowTxtFld

bluHighTxtFld

private final JTextField bluHighTxtFld
Constructor Detail

RGBCompositeControl

public RGBCompositeControl()
Method Detail

init

public boolean init(DataChoice dataChoice)
             throws VisADException,
                    RemoteException
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl

Initialize this instance according to a data choice. Subclasses should override this method. Overridding methods should probably invoke DisplayControlImpl.setData(DataChoice) as part of their initialization procedure -- although it is unclear when this is actually necessary.

This implementation simply returns true.

Overrides:
init in class DisplayControlImpl
Parameters:
dataChoice - A data choice or null.
Returns:
true if and only if this instance was correctly initialized by the data choice.
Throws:
VisADException - if a VisAD Failure occurs.
RemoteException - if a Java RMI failure occurs.

initDone

public void initDone()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
Called after all initialization has been done. A hook that allows derived classes to do any further initialization.

Overrides:
initDone in class DisplayControlImpl

getDataProjection

public MapProjection getDataProjection()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
get MapProjection of data to display

Specified by:
getDataProjection in interface DisplayControl
Overrides:
getDataProjection in class DisplayControlImpl
Returns:
The native projection of the data

checkRange

boolean checkRange()

updateRedRange

private void updateRedRange(double lo,
                            double hi)

setRedRange

public void setRedRange(double[] range)

getRedRange

public double[] getRedRange()

updateGrnRange

private void updateGrnRange(double lo,
                            double hi)

setGrnRange

public void setGrnRange(double[] range)

getGrnRange

public double[] getGrnRange()

updateBluRange

private void updateBluRange(double lo,
                            double hi)

setBluRange

public void setBluRange(double[] range)

getBluRange

public double[] getBluRange()

setRedGamma

public void setRedGamma(double gamma)

getRedGamma

public double getRedGamma()

setGrnGamma

public void setGrnGamma(double gamma)

getGrnGamma

public double getGrnGamma()

setBluGamma

public void setBluGamma(double gamma)

getBluGamma

public double getBluGamma()

setGamma

public void setGamma(double gamma)

getGamma

public double getGamma()

updateGamma

private void updateGamma(double gamma)

updateRedGamma

private void updateRedGamma(double gamma)

updateGrnGamma

private void updateGrnGamma(double gamma)

updateBluGamma

private void updateBluGamma(double gamma)

getZeroOutArray

public float[][] getZeroOutArray(float[][] array)

getInitialColorTable

protected ColorTable getInitialColorTable()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
A hook so derived classes can return a colortable. This method uses the DisplayConventions to get the color table based on the paramName

Overrides:
getInitialColorTable in class DisplayControlImpl
Returns:
The color table to use

doMakeContents

public Container doMakeContents()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
Make Gui contents

Overrides:
doMakeContents in class DisplayControlImpl
Returns:
User interface contents