Package ucar.unidata.idv.control
Class ThreeDSurfaceControl
java.lang.Object
ucar.unidata.collab.SharableImpl
ucar.unidata.idv.control.DisplayControlBase
ucar.unidata.idv.control.DisplayControlImpl
ucar.unidata.idv.control.GridDisplayControl
ucar.unidata.idv.control.ThreeDSurfaceControl
- All Implemented Interfaces:
ActionListener
,ItemListener
,PropertyChangeListener
,EventListener
,HyperlinkListener
,Sharable
,DataChangeListener
,DisplayControl
,Prototypable
,ControlListener
,DisplayListener
A MetApps Display Control with Displayable and controls for
one 3D isosurface display of one parameter.
- Version:
- $Revision: 1.106 $
- Author:
- Jeff McWhirter
-
Nested Class Summary
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Property for sharing isosurface valuestatic final String
Property for sharing transparency.Fields inherited from class ucar.unidata.idv.control.GridDisplayControl
CMD_CONTOURDIALOG, CMD_SETLEVELS, gridDataInstance, INITIAL_PROBE_EARTHLOCATION, log_, settingLevel
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, isProgressiveResolution, matchDisplayRegion, noteTextArea, noteWrapper, paramName, reloadFromBounds, requestProperties, resolutionReadout, selectRangeWidget, settingVisibility, sharables, showNoteText, skipSlider, version, viewManagers, ZFUDGE
Fields inherited from class ucar.unidata.idv.control.DisplayControlBase
APPEARANCE_DARK, APPEARANCE_IDV, APPEARANCE_LIGHT, 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, MACRO_DATASOURCENAME, MACRO_DISPLAYNAME, MACRO_DISPLAYUNIT, MACRO_FHOUR, MACRO_FHOUR2, MACRO_LONGNAME, MACRO_POSITION, MACRO_RESOLUTION, 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Add any display settingsprotected void
addLabelMacros
(String template, List patterns, List values) Add any macro name/value pairs.protected void
Use the value of the smoothing type and weight to subset the data.protected boolean
Does this control support progressive resolution? Subclasses should override.boolean
Can this display control write out data.protected void
displayUnitChanged
(Unit oldUnit, Unit newUnit) Method called when display unit changes.protected Container
Make the gui.float
getAlpha()
Get the transparency property value.void
getControlWidgets
(List controlWidgets) This gets called by the DisplayControlImpl.doMakeWidgetComponent (which is called by DisplayControlImpl.doMakeContents) to make the GUI contents of this Control, and allows this class to insert its own widgets as needed.protected Data
Get the DisplayedDataboolean
Is this a raster display?void
getLegendLabels
(List labels, int legendType) Override the base class method to add the value readout.protected void
getMacroNames
(List names, List labels) Add any macro name/label pairsdouble
Get the SurfaceValue property.boolean
init
(DataChoice dataChoice) Call to help make this kind of Display Control; also calls code to made the Displayable (empty of data thus far).void
initDone()
Called after init.void
receiveShareData
(Sharable from, Object dataId, Object[] data) Method called by other classes that share the selector.protected void
This reset data api need to apply smoothing, otherwise, no more smoothingvoid
setAlpha
(float alpha) Set the transparency property value, 0.0 to 1.0 only.protected boolean
setData
(DataChoice choice) Set the data in the display control from the data choicevoid
setLevelSliderPercent
(double level) Set the surfaces's value as a percentage of the slider range.void
setLevelWithRawValue
(double rawLevel) Set the level value on the isosurface display and update all of the UI widgets.void
Set the initial state of the JSlider of isosurface value, with data limits, units, and labels.void
setSurfaceValue
(double value) Set the SurfaceValue property.Methods inherited from class ucar.unidata.idv.control.GridDisplayControl
actionPerformed, addTopographyMap, addTopographyMap, applyForecastHourMacro, convertColorRange, doExport, doMakeContourLevelControl, doMakeDataInstance, doMakeLevelControl, doMakeLevelControl, exportDisplayedData, getColorParamName, getColorRangeFromData, getColorRangeIndex, getColorUnit, getContourInfo, getCursorReadoutData, getCursorReadoutInner, getDataProjection, getDataRangeInColorUnits, getDefaultContourInfo, getDisplayUnit, getGridDataInstance, getInitialColorTable, getInitialRange, getRawDataUnit, haveMultipleFields, initializeDefaultContourInfo, isDisplayUnitAlsoColorUnit, normalizeRectangle, setLevel, setLevel, setLevelFromUser, shouldAddControlListener, shouldAddDisplayListener
Methods inherited from class ucar.unidata.idv.control.DisplayControlImpl
activateDisplays, addAttributedDisplayable, addAttributedDisplayable, addAttributedDisplayable, addAttributeFlags, addCheckBoxSettings, addDataChoice, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayMaster, 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, applyTextureQuality, applyTimeRange, applyZPosition, boundsClose, canBeDocked, canSaveDataInCache, captureWindow, centerOnDisplay, changeColorUnit, changeDisplayUnit, checkBoundsChange, checkFlag, checkIfDataOk, checkImageSize, clearDataInstance, clearPrototype, clearViewManagers, close, colorUnitChanged, controlChanged, convertColorRange, convertRange, createDisplayListDisplayable, createIdvWindow, dataChanged, deactivateDisplays, debug, displayableToFront, displayChanged, displayControlFailed, doApplyProperties, doInitialUpdateLegendAndList, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeMenuBar, doMakeMenuBarMenus, doMakePointSizeWidget, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, doMakeSmoothingWidget, doMakeTextureSlider, doMakeVisibilityControl, doMakeWidgetComponent, doMakeWindow, doMakeZPositionSlider, doRemove, 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, getColorUnitName, getColorWidgetLabel, getComponentHolder, getContents, getControlChangeSleepTime, getControlContext, getControlMenus, getCursorReadout, 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, getDisplayId, getDisplayInfos, getDisplayListColor, getDisplayListData, getDisplayListDisplayable, getDisplayListTemplate, getDisplayMaster, getDisplayName, getDisplayScale, 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, getInitialZPosition, getInternalAnimation, getInternalAnimation, getIsProgressiveResolution, getIsTimeDriver, getLabel, getLastFileMenuItems, getLatLonPoints, getLegendButtons, getLegendComponent, getLegendLabel, getLegendLabelTemplate, getLegendToolTip, getLineWidth, getLineWidthWidget, getLineWidthWidgetLabel, getLockVisibilityToggle, getLongParamName, getMainPanel, getMainPanelSize, getMakeWindow, getMapDisplay, getMapViewManager, getMapViewProjection, getMatchDisplayRegion, getMenuLabel, getMyDataChoices, getNavigatedDisplay, getNoteText, getObjectStore, getOkToFireEvents, getOldColorTableOrInitialColorTable, getOriginalDataChoicesLabel, getOuterContents, getPointSize, getProperty, getProperty, getPropertyDisplayName, getRange, getRangeForColorTable, getRangeToApply, getRequestProperties, getSamplingModeName, getSamplingModeValue, getSamplingModeValue, getSaveMenuItems, getSelectRange, getSelectRangeEnabled, getSelectRangeWidget, getSettingsPanel, getShortParamName, getShoulDoProgressiveResolution, 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, hasForecastHourMacro, hasMapProjection, hasTimeMacro, haveDataTimes, haveParameterDefaults, hide, hyperlinkUpdate, inGlobeDisplay, init, init, init, initAfterUnPersistence, initAfterUnPersistence, initAsPrototype, initAsTemplate, initBasic, initializeWithNewData, initWindow, isDisplay3D, isGuiShown, isInitDone, isInTransectView, isInViewManager, itemStateChanged, loadDataFromViewBounds, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeRemoveButton, moveTo, notifyViewManagersOfChange, parseProperties, popup, popupDataDialog, popupDataDialog, popupDataDialog, processRequestProperties, projectionChanged, propertyChange, putTransientProperty, reallySetAttributeFlags, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, relocateDisplay, relocateDisplay, removeDataChoice, removeDisplayable, removeDisplayables, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, resetDimness, resetViewManager, revertToDefaultColorTable, revertToDefaultColorTable, revertToDefaultRange, revertToDefaultRange, saveAsFavorite, saveAsParameterDefaults, saveAsPrototype, saveAsTemplate, saveDataChoiceInCache, saveImage, saveProjection, selectDataChoices, setAnimationInfo, setAnimationSet, setAttributeFlags, setCachedData, setCanDoRemoveAll, setCategories, setCollapseLegend, setColor, setColorBrighter, setColorDimmer, setColorDimness, setColorScaleInfo, setColorScaleVisible, setColorTable, setColorTable, setColorTableName, setColorUnit, setColorUnitName, setComponentHolder, setContents, setContourInfo, setContourInfoParams, setData, setDataChoices, setDataInstance, setDataInstances, setDataSelection, setDataTimeRange, setDefaultSamplingMode, setDefaultView, setDisplayableVisibility, setDisplayableVisiblity, setDisplayActive, setDisplayAreaSubset, setDisplayCategory, setDisplayId, setDisplayInactive, setDisplayListColor, setDisplayListColor, setDisplayListProperties, setDisplayListTemplate, setDisplayListTimeZone, setDisplayName, setDisplayUnit, setDisplayUnitName, setDisplayVisibility, setDoCursorReadout, setExpandedInTabs, setExtraLabelTemplate, setHadDataChoices, setHelpUrl, setId, setInitDataChoices, setInitialSettings, setInitialViewManager, setIsProgressiveResolution, setIsRaster, setIsTimeDriver, setLabelAsPreference, setLegendBackground, setLegendForeground, setLegendLabel, setLegendLabelTemplate, setLineWidth, setLockVisibilityToggle, setMainPanelDimensions, setMainPanelSize, setMakeWindow, setMatchDisplayRegion, setName, setNameFromUser, setNewColorUnit, setNewDisplayUnit, setNoteText, setOkToFireEvents, setOriginalDataChoicesLabel, setParamName, setPersistedVisadData, setPointSize, setProjectionInView, 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, 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 Details
-
SHARE_SURFACEVALUE
Property for sharing isosurface value- See Also:
-
SHARE_TRANSPARENCY
Property for sharing transparency. Deprecated since transparencey is now done through color table sharing. deprecated- See Also:
-
-
Constructor Details
-
ThreeDSurfaceControl
public ThreeDSurfaceControl()Default constructor; does nothing. See init() for class initialization
-
-
Method Details
-
init
Call to help make this kind of Display Control; also calls code to made the Displayable (empty of data thus far). This method is called from inside DisplayControlImpl.init(several args).- Overrides:
init
in classDisplayControlImpl
- Parameters:
dataChoice
- the DataChoice of the moment.- Returns:
- true if successful
- Throws:
RemoteException
- Java RMI errorVisADException
- VisAD Error
-
initDone
public void initDone()Called after init. Adjust transparency for legacy bundles.- Overrides:
initDone
in classDisplayControlImpl
-
getMacroNames
Add any macro name/label pairs- Overrides:
getMacroNames
in classDisplayControlImpl
- Parameters:
names
- List of macro nameslabels
- List of macro labels
-
addLabelMacros
Add any macro name/value pairs.- Overrides:
addLabelMacros
in classDisplayControlImpl
- Parameters:
template
- The template to usepatterns
- The macro namesvalues
- The macro values
-
displayUnitChanged
Method called when display unit changes.- Overrides:
displayUnitChanged
in classDisplayControlImpl
- Parameters:
oldUnit
- old unitnewUnit
- new unit
-
setData
Set the data in the display control from the data choice- Overrides:
setData
in classDisplayControlImpl
- Parameters:
choice
- choice describing data- Returns:
- true if successful
- Throws:
RemoteException
- Java RMI errorVisADException
- VisAD Error
-
resetData
This reset data api need to apply smoothing, otherwise, no more smoothing- Overrides:
resetData
in classDisplayControlImpl
- Throws:
RemoteException
- Java RMI problemVisADException
- VisAD problem
-
applySmoothing
Use the value of the smoothing type and weight to subset the data.- Overrides:
applySmoothing
in classDisplayControlImpl
- Throws:
RemoteException
- Java RMI problemVisADException
- VisAD problem
-
doMakeContents
Make the gui. Align it left- Overrides:
doMakeContents
in classDisplayControlImpl
- Returns:
- The gui
- Throws:
RemoteException
- on badnessVisADException
- on badness
-
getControlWidgets
This gets called by the DisplayControlImpl.doMakeWidgetComponent (which is called by DisplayControlImpl.doMakeContents) to make the GUI contents of this Control, and allows this class to insert its own widgets as needed. Makes color table chooser and slider for surface value- Overrides:
getControlWidgets
in classDisplayControlImpl
- Parameters:
controlWidgets
- list of control widgets to populate- Throws:
RemoteException
- Java RMI errorVisADException
- VisAD Error
-
setLevelWithRawValue
Set the level value on the isosurface display and update all of the UI widgets.- Parameters:
rawLevel
- new isourface value- Throws:
RemoteException
- Java RMI errorVisADException
- VisAD Error
-
getLegendLabels
Override the base class method to add the value readout.- Overrides:
getLegendLabels
in classDisplayControlImpl
- Parameters:
labels
- labels to add tolegendType
- The type of legend, BOTTOM_LEGEND or SIDE_LEGEND
-
getAlpha
public float getAlpha()Get the transparency property value. Only here for legacy bundles- Returns:
- alpha value.
-
setAlpha
public void setAlpha(float alpha) Set the transparency property value, 0.0 to 1.0 only. Only for legacy bundles.- Parameters:
alpha
- the transparency property value.
-
setLevelSliderPercent
public void setLevelSliderPercent(double level) Set the surfaces's value as a percentage of the slider range.- Parameters:
level
- the surfaces's value.
-
setSliderValues
Set the initial state of the JSlider of isosurface value, with data limits, units, and labels.- Throws:
RemoteException
- Java RMI errorVisADException
- VisAD Error
-
addDisplaySettings
Add any display settings- Overrides:
addDisplaySettings
in classDisplayControlImpl
- Parameters:
dsd
- the dialog to add to
-
setSurfaceValue
public void setSurfaceValue(double value) Set the SurfaceValue property.- Parameters:
value
- The new value for SurfaceValue
-
getSurfaceValue
public double getSurfaceValue()Get the SurfaceValue property.- Returns:
- The SurfaceValue
-
canExportData
public boolean canExportData()Can this display control write out data.- Overrides:
canExportData
in classDisplayControlImpl
- Returns:
- true if it can
-
getDisplayedData
Get the DisplayedData- Overrides:
getDisplayedData
in classDisplayControlImpl
- Returns:
- the data or null
- Throws:
RemoteException
- problem reading remote dataVisADException
- problem gettting data
-
getIsRaster
public boolean getIsRaster()Is this a raster display?- Overrides:
getIsRaster
in classDisplayControlImpl
- Returns:
- true
-
canDoProgressiveResolution
protected boolean canDoProgressiveResolution()Description copied from class:DisplayControlImpl
Does this control support progressive resolution? Subclasses should override.- Overrides:
canDoProgressiveResolution
in classGridDisplayControl
- Returns:
- _more_
-