Class TLcdS52DisplaySettings
- All Implemented Interfaces:
ILcdDataObject,ILcdCloneable,ILcdPropertyChangeSource,Cloneable
TLcdS52DisplaySettings object to all S-52 components (painter providers,
model list builders, symbologies, ...) that work on the same model, or need to behave identical
w.r.t. S-52 rendering.
This class centralizes and replaces all setters which were previously available on the
individual S-52 components. It is advised to only configure S-52 settings through this central
settings object.
A class can be registered as a PropertyChangeListener to this class.
The listener will be notified each time one of the rendering settings has been changed.- Since:
- 11.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetAirDraft(), in meters.static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetAreaBoundarySymbolType().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetBeam(), in meters.static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetColorType().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetDateFilterValue().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetDeepContour().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetDisplayCategory().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayChartBoundaries().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayFullLengthLightSectorLines().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayIsolatedDangersInShallowWater().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayLandAreas().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayMetaData().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayObjectsOutsideView().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayOverscaleIndication().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayShallowPattern().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplaySoundings().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetDisplayTextGroups().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayText().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisDisplayUnderscaleIndication().static final TLcdDataPropertyProperty that represents whether object classes are selectable.static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetObjectClasses().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetPointSymbolType().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetProductType()property.static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetRadarCategory()property.static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetSafetyContour().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetSafetyDepth().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetScaleDenominators().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetShallowContour().static final TLcdDataPropertyTheTLcdDataPropertywhich represents thegetUnderscaleIndicationColor().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisUseAbbreviations().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisUseNationalLanguage().static final TLcdDataPropertyTheTLcdDataPropertywhich represents theisUseTwoShades(). -
Constructor Summary
ConstructorsConstructorDescriptionCreates a newTLcdS52DisplaySettingsinstance with default display settings for ENC.TLcdS52DisplaySettings(TLcdS52DisplaySettings aDisplaySettings) Creates a new display settings instance, initialized with the settings of the given display settings.TLcdS52DisplaySettings(ELcdS57ProductType aProductType) Creates a newTLcdS52DisplaySettingsinstance with default display settings for the given product. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddPropertyChangeListener(PropertyChangeListener aPropertyChangeListener) Registers the givenPropertyChangeListenerto be notified when this object's properties change.clone()MakesObject.clone()public.booleandoubleReturns the currently configured ship's air draft, in meters.intReturns the symbol type to be used for the rendering of boundaries of area objects.doublegetBeam()Returns the currently configured ship's beam, in meters.intReturns the S-52 color scheme to be used.Returns the type of this data object.Returns the date value for filtering.doubleReturns the depth of the deep contour.intReturns the S-52 display category to be rendered.boolean[]Returns a boolean array indicating which text groups to display.int[]Returns the set of object class that is displayed.intReturns the symbol type to be used for the rendering of point objects.Returns the product type for which these display settings are meant to be applied.Returns the currently configured radar category property.doubleReturns the depth of the safety contour.doubleReturns the ship's safety depth.int[]Returns the scale denominators to use for eachnavigational purpose or level.double[]Deprecated.doubleReturns the depth of the shallow contour.Returns the color in which to render the underscale indication.getValue(TLcdDataProperty aProperty) Returns the value of the given property.Convenience method that returns the value of the property with the given name.inthashCode()booleanhasValue(TLcdDataProperty aProperty) Indicates whether this data object has a value for the given property.booleanIndicates whether this data object has a value for the given property.booleanReturns whether to display chart boundaries.booleanReturns whether sector lines of lights should be displayed at full length.booleanReturns whether to display isolated dangers in shallow water.booleanIndicates whether land and built-up areas are displayed.booleanReturns whether metadata should be displayed or not.booleanReturns whether objects located outside the view but whose graphical extent overlaps with the view should be displayed.booleanReturns whether to display an overscale indication for cells which are being viewed on a scale larger than the intended scale range.booleanReturns whether to fill areas with a depth less than the shallow depth with a special fill pattern, as defined by the S-52 specification.booleanReturns whether depth soundings should be displayed or not.booleanReturns whether textual information of objects should be displayed or not.booleanReturns whether to display an underscale indication for cells which are not visible yet (the map scale is smaller than the intended scale range of the cell).booleanIndicates whether theselected object classeson this display settings should be taken into account.booleanReturns whether to use abbreviations for text rendering.booleanReturns whether to use the national language text labels instead of the default (international) labels.booleanReturns whether to use a 2- or 4-color schema for depth area rendering.voidremovePropertyChangeListener(PropertyChangeListener aPropertyChangeListener) De-registers the givenPropertyChangeListenerfrom receiving property change events for this object.voidsetAirDraft(double aAirDraft) Set the ship's air draft, in meters.voidsetAll(TLcdS52DisplaySettings aDisplaySettings) Configures this display settings with the configuration of the specified display settings.voidsetAreaBoundarySymbolType(int aAreaBoundarySymbolType) Sets the symbol type to be used for the rendering of boundaries of area objects.voidsetBeam(double aBeam) Set the ship's beam, in meters.voidsetColorType(int aColorType) Sets the S-52 color scheme to be used.voidsetDateFilterValue(Date aDateFilterValue) Sets a date value for filtering.voidsetDeepContour(double aDeepContour) Sets the depth of the deep contour.voidsetDisplayCategory(int aDisplayCategory) Sets the S-52 display category to be rendered.voidsetDisplayChartBoundaries(boolean aDisplayChartBoundaries) Sets whether to display chart boundaries.voidsetDisplayFullLengthLightSectorLines(boolean aDisplayFullLengthLightSectorLines) Sets whether sector lines of lights should be displayed at full length.voidsetDisplayIsolatedDangersInShallowWater(boolean aDisplayIsolatedDangersInShallowWater) Sets whether to display isolated dangers in shallow water.voidsetDisplayLandAreas(boolean aDisplayLandAreas) Enable or disable display of land and built-up areas.voidsetDisplayMetaData(boolean aDisplayMetaData) Sets whether metadata should be displayed or not.voidsetDisplayObjectsOutsideView(boolean aDisplayObjectsOutsideBorder) Indicates whether the S-57 layers should render objects which are located outside the view bounds, but whose graphical extent overlaps with the view.voidsetDisplayOverscaleIndication(boolean aDisplayOverscaleIndication) Sets whether to display an overscale indication for cells which are being viewed on a scale larger than the intended scale range.voidsetDisplayShallowPattern(boolean aDisplayShallowPattern) Returns whether to fill areas with a depth less than the shallow depth with a special fill pattern, as defined by the S-52 specification.voidsetDisplaySoundings(boolean aDisplaySoundings) Sets whether depth soundings should be displayed or not.voidsetDisplayText(boolean aDisplayText) Sets whether textual information of objects should be displayed or not.voidsetDisplayTextGroups(boolean[] aDisplayTextGroups) Sets the boolean array indicating which text groups to display.voidsetDisplayUnderscaleIndication(boolean aDisplayUnderscaleIndication) Sets whether to display an underscale indication for cells which are not visible yet (the map scale is smaller than the intended scale range of the cell).voidsetObjectClasses(int[] aObjectClasses) Sets the set of object classes to display.voidsetObjectClassSelectionEnabled(boolean aNewValue) Sets whether theselected object classeson this display settings should be taken into account.voidsetPointSymbolType(int aPointSymbolType) Sets the symbol type to be used for the rendering of point objects.voidsetRadarCategory(ELcdS52RadarCategory aRadarCategory) Set the radar category property.voidsetSafetyContour(double aSafetyContour) Sets the ship's safety contour depth.voidsetSafetyDepth(double aSafetyDepth) Sets the ship's safety depth.voidsetScaleDenominators(int[] aScaleDenominators) Sets the scale denominators to use for each navigational purpose.voidsetScaleRanges(double[] aScaleRanges) Deprecated.UsesetScaleDenominators(int[])instead, which uses device-independent scales.voidsetShallowContour(double aShallowContour) Sets the depth of the shallow contour.voidsetUnderscaleIndicationColor(Color aUnderscaleIndicationColor) Sets the color in which to render the underscale indication.voidsetUseAbbreviations(boolean aUseAbbreviations) Sets whether to use abbrevations for text rendering.voidsetUseNationalLanguage(boolean aUseNationalLanguage) Sets whether to use national language text labels.voidsetUseTwoShades(boolean aUseTwoShades) Sets whether to use a 2- or 4-color schema for depth area rendering.voidsetValue(TLcdDataProperty aProperty, Object aValue) Sets the value of the given property for this data object.voidConvenience method that sets the value of the property with the given name.
-
Field Details
-
COLOR_SCHEME_PROPERTY
TheTLcdDataPropertywhich represents thegetColorType(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be anELcdS52ColorSchemeinstance. -
POINT_SYMBOL_TYPE_PROPERTY
TheTLcdDataPropertywhich represents thegetPointSymbolType(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be anELcdS52PointSymbolinstance. -
AREA_BOUNDARY_SYMBOL_TYPE_PROPERTY
TheTLcdDataPropertywhich represents thegetAreaBoundarySymbolType(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be anELcdS52AreaBoundarySymbolinstance. -
DISPLAY_FULL_LENGTH_LIGHT_SECTOR_LINES_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayFullLengthLightSectorLines(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_CATEGORY_PROPERTY
TheTLcdDataPropertywhich represents thegetDisplayCategory(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be anELcdS52DisplayCategoryinstance. -
DISPLAY_SOUNDINGS_PROPERTY
TheTLcdDataPropertywhich represents theisDisplaySoundings(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_LAND_AREAS_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayLandAreas(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_METADATA_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayMetaData(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_TEXT_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayText(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_TEXT_GROUPS_PROPERTY
The
TLcdDataPropertywhich represents thegetDisplayTextGroups(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aListinstance containingIntegers. The list will contain the indices of the groups for which text is displayed.Note that editing the
Listinstance has no effect. In order to make changes to theListretrieved usinggetValue(com.luciad.datamodel.TLcdDataProperty), you need to set a new, modifiedListinstance usingsetValue(com.luciad.datamodel.TLcdDataProperty, Object). -
USE_ABBREVIATIONS_PROPERTY
TheTLcdDataPropertywhich represents theisUseAbbreviations(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
USE_NATIONAL_LANGUAGE_PROPERTY
TheTLcdDataPropertywhich represents theisUseNationalLanguage(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
SAFETY_DEPTH_PROPERTY
TheTLcdDataPropertywhich represents thegetSafetyDepth(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aDoubleinstance. -
SHALLOW_CONTOUR_PROPERTY
TheTLcdDataPropertywhich represents thegetShallowContour(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aDoubleinstance. -
SAFETY_CONTOUR_PROPERTY
TheTLcdDataPropertywhich represents thegetSafetyContour(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aDoubleinstance. -
DEEP_CONTOUR_PROPERTY
TheTLcdDataPropertywhich represents thegetDeepContour(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aDoubleinstance. -
USE_TWO_SHADES_PROPERTY
TheTLcdDataPropertywhich represents theisUseTwoShades(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_SHALLOW_PATTERN_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayShallowPattern(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_ISOLATED_DANGERS_IN_SHALLOW_WATER_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayIsolatedDangersInShallowWater(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_CHART_BOUNDARIES_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayChartBoundaries(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_OVERSCALE_INDICATION_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayOverscaleIndication(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
DISPLAY_UNDERSCALE_INDICATION_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayUnderscaleIndication(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
UNDERSCALE_INDICATION_COLOR_PROPERTY
TheTLcdDataPropertywhich represents thegetUnderscaleIndicationColor(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aColorinstance. -
DISPLAY_OBJECTS_OUTSIDE_VIEW_PROPERTY
TheTLcdDataPropertywhich represents theisDisplayObjectsOutsideView(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. -
SCALE_DENOMINATORS_PROPERTY
The
TLcdDataPropertywhich represents thegetScaleDenominators(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aListinstance containing all scale denominators.Note that editing the
Listinstance has no effect. In order to make changes to theListretrieved usinggetValue(com.luciad.datamodel.TLcdDataProperty), you need to set a new, modifiedListinstance usingsetValue(com.luciad.datamodel.TLcdDataProperty, Object). -
OBJECT_CLASS_SELECTION_ENABLED_PROPERTY
Property that represents whether object classes are selectable. One can change this value by invoking
setObjectClassSelectionEnabled(boolean). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aBooleaninstance. The default value for this property istrue.- Since:
- 2015.1
-
DATE_FILTER_VALUE_PROPERTY
TheTLcdDataPropertywhich represents thegetDateFilterValue(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aDateinstance. Default value for this property is null. -
OBJECT_CLASSES_PROPERTY
The
TLcdDataPropertywhich represents thegetObjectClasses(). Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aListinstance containing all object classes.Note that editing the
Listinstance has no effect. In order to make changes to theListretrieved usinggetValue(com.luciad.datamodel.TLcdDataProperty), you need to set a new, modifiedListinstance usingsetValue(com.luciad.datamodel.TLcdDataProperty, Object). -
BEAM_PROPERTY
TheTLcdDataPropertywhich represents thegetBeam(), in meters. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aDoubleinstance. Default value for this property is 10.0.- Since:
- 2018.0.09
- See Also:
-
AIR_DRAFT_PROPERTY
TheTLcdDataPropertywhich represents thegetAirDraft(), in meters. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aDoubleinstance. Default value for this property is 10.0.- Since:
- 2018.0.09
- See Also:
-
RADAR_CATEGORY_PROPERTY
TheTLcdDataPropertywhich represents thegetRadarCategory()property. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aELcdS52RadarCategoryinstance. Default value for this property isBOTH.- Since:
- 2021.1
- See Also:
-
PRODUCT_TYPE_PROPERTY
TheTLcdDataPropertywhich represents thegetProductType()property. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)method, in which case the return value will be aELcdS57ProductTypeinstance. Default value for this property isENC.- Since:
- 2023.0
- See Also:
-
-
Constructor Details
-
TLcdS52DisplaySettings
Creates a new display settings instance, initialized with the settings of the given display settings.- Parameters:
aDisplaySettings- the display settings to copy the properties from
-
TLcdS52DisplaySettings
public TLcdS52DisplaySettings()Creates a newTLcdS52DisplaySettingsinstance with default display settings for ENC. -
TLcdS52DisplaySettings
Creates a newTLcdS52DisplaySettingsinstance with default display settings for the given product.- Parameters:
aProductType- The product type (ENC, IENC or AML) to initialize the display settings for- Since:
- 2023.0
-
-
Method Details
-
getProductType
Returns the product type for which these display settings are meant to be applied.- Returns:
- the relevant product type
- Since:
- 2023.0
-
setAll
Configures this display settings with the configuration of the specified display settings.- Parameters:
aDisplaySettings- the display settings from which to copy the configuration.
-
getColorType
public int getColorType()Returns the S-52 color scheme to be used.- Returns:
- the S-52 color scheme to be used.
- See Also:
-
setColorType
public void setColorType(int aColorType) Sets the S-52 color scheme to be used. This can be one ofILcdS52Symbology.DAY_BRIGHT_COLORS,ILcdS52Symbology.DUSK_COLORSorILcdS52Symbology.NIGHT_COLORS.- Parameters:
aColorType- the color scheme to be used.- See Also:
-
getPointSymbolType
public int getPointSymbolType()Returns the symbol type to be used for the rendering of point objects.- Returns:
- the symbol type to be used for the rendering of point objects.
- See Also:
-
setPointSymbolType
public void setPointSymbolType(int aPointSymbolType) Sets the symbol type to be used for the rendering of point objects. This can beILcdS52Symbology.SIMPLIFIED_POINT_SYMBOLSorILcdS52Symbology.PAPER_CHART_POINT_SYMBOLS.- Parameters:
aPointSymbolType- the symbol type to be used for the rendering of point objects.- See Also:
-
getAreaBoundarySymbolType
public int getAreaBoundarySymbolType()Returns the symbol type to be used for the rendering of boundaries of area objects.- Returns:
- the symbol type to be used for the rendering of boundaries of area objects.
- See Also:
-
setAreaBoundarySymbolType
public void setAreaBoundarySymbolType(int aAreaBoundarySymbolType) Sets the symbol type to be used for the rendering of boundaries of area objects. This can beILcdS52Symbology.PLAIN_AREA_BOUNDARY_SYMBOLSorILcdS52Symbology.SYMBOLIZED_AREA_BOUNDARY_SYMBOLS.- Parameters:
aAreaBoundarySymbolType- the symbol type to be used for the rendering of boundaries of area objects.- See Also:
-
isDisplayFullLengthLightSectorLines
public boolean isDisplayFullLengthLightSectorLines()Returns whether sector lines of lights should be displayed at full length.- Returns:
- whether sector lines of lights should be displayed at full length.
- See Also:
-
setDisplayFullLengthLightSectorLines
public void setDisplayFullLengthLightSectorLines(boolean aDisplayFullLengthLightSectorLines) Sets whether sector lines of lights should be displayed at full length. If false, only short sector lines with a fixed length in screen coordinates will be drawn.- Parameters:
aDisplayFullLengthLightSectorLines- boolean indicating whether to display full length light sector lines or not.- See Also:
-
getDisplayCategory
public int getDisplayCategory()Returns the S-52 display category to be rendered.- Returns:
- the S-52 display category to be rendered.
- See Also:
-
setDisplayCategory
public void setDisplayCategory(int aDisplayCategory) Sets the S-52 display category to be rendered. Each S-57 object falls into one three display categories, defined by the S-52 symbology. These categories can be used as a coarse filter to control the amount of data that is rendered on a map. The available display categories areILcdS52Style.STANDARD,ILcdS52Style.DISPLAYBASEandILcdS52Style.OTHER. See the S-52 specification for more information on display categories.- Parameters:
aDisplayCategory- the S-52 display category to be rendered.- See Also:
-
isDisplaySoundings
public boolean isDisplaySoundings()Returns whether depth soundings should be displayed or not.- Returns:
- whether depth soundings should be displayed or not.
- See Also:
-
setDisplaySoundings
public void setDisplaySoundings(boolean aDisplaySoundings) Sets whether depth soundings should be displayed or not. Depth soundings are measurements of the sea depth at a given location. They are rendered as small numbers on top of depth areas.- Parameters:
aDisplaySoundings- boolean indicating whether to display depth soundings or not. #see #isDisplaySoundings
-
isDisplayMetaData
public boolean isDisplayMetaData()Returns whether metadata should be displayed or not.- Returns:
- whether metadata should be displayed or not.
- See Also:
-
setDisplayMetaData
public void setDisplayMetaData(boolean aDisplayMetaData) Sets whether metadata should be displayed or not. Metadata provide additional meta information about an S-57 object, such as data quality information. Turning on metadata rendering may clutter the map significantly, and it is therefore disabled by default.- Parameters:
aDisplayMetaData- boolean indicating whether metadata should be displayed or not- See Also:
-
isDisplayText
public boolean isDisplayText()Returns whether textual information of objects should be displayed or not.- Returns:
- whether textual information of objects should be displayed or not.
- See Also:
-
setDisplayText
public void setDisplayText(boolean aDisplayText) Sets whether textual information of objects should be displayed or not. Textual information is rendered on the map as a label, as it should be rendered on top of all other geographical information. It is therefore required that layer labeling should be turned on for the text to become visible. Turning on textual information rendering may clutter the map significantly, and may also reduce the rendering performance. It is therefore disabled by default. The text group displaying flags provide a more fine-grained control over which texts to be rendered and which to hide.- Parameters:
aDisplayText- boolean indicating whether textual information of objects should be displayed or not.- See Also:
-
getDisplayTextGroups
public boolean[] getDisplayTextGroups()Returns a boolean array indicating which text groups to display.
Warning: you should not modify the returned array directly. Instead, call the corresponding setter with a new, modified instance.
- Returns:
- a boolean array indicating which text groups to display.
- See Also:
-
setDisplayTextGroups
public void setDisplayTextGroups(boolean[] aDisplayTextGroups) Sets the boolean array indicating which text groups to display. The boolean at array index i indicates whether the text group with id i should be displayed or not. The group to which a text belongs is defined by the S-52 symbology. See the S-52 specification for more details on text groups. This filter is combined with the global text filter: only of the global text display flag is true AND the text group flag is true, the text group will be displayed.- Parameters:
aDisplayTextGroups- the boolean array indicating which text groups to display. Must have a length of 100 (specified by the S-52 specification)- See Also:
-
isUseAbbreviations
public boolean isUseAbbreviations()Returns whether to use abbreviations for text rendering.- Returns:
- whether to use abbreviations for text rendering.
- See Also:
-
setUseAbbreviations
public void setUseAbbreviations(boolean aUseAbbreviations) Sets whether to use abbrevations for text rendering. For the NATSUR (Nature of surface) attribute, abbreviations are defined for each of the available values. Enabling abbreviations may reduce cluttering on the map significantly. This setting currently only affects the NATSUR attribute.- Parameters:
aUseAbbreviations- boolean indicating whether to use abbrevations for text rendering.- See Also:
-
isUseNationalLanguage
public boolean isUseNationalLanguage()Returns whether to use the national language text labels instead of the default (international) labels. If no text is available in the national language, the international name will automatically be used as a fallback.- Returns:
trueif national language labels are used,falseotherwise. The default isfalse.
-
setUseNationalLanguage
public void setUseNationalLanguage(boolean aUseNationalLanguage) Sets whether to use national language text labels. Iffalse, the international name will be used (default).- Parameters:
aUseNationalLanguage-trueif national language labels should be used,falseotherwise.
-
getSafetyDepth
public double getSafetyDepth()Returns the ship's safety depth.- Returns:
- the ship's safety depth.
- See Also:
-
setSafetyDepth
public void setSafetyDepth(double aSafetyDepth) Sets the ship's safety depth. The safety depth affects the way depth soundings are rendered: depth soundings with a value less than the safety depth will be rendered in a dark color, while depth sounding with a value more than the safety depth will be rendered in a light color. The safety contour depth and safety depth are independent settings; the former affects the safety contour line and the depth area fill colors, the latter affects the depth soundings colors.- Parameters:
aSafetyDepth- the ship's safety depth.- See Also:
-
getShallowContour
public double getShallowContour()Returns the depth of the shallow contour. The shallow contour is only relevant if the two shades setting is turned off.- Returns:
- the shallow contour depth.
- See Also:
-
setShallowContour
public void setShallowContour(double aShallowContour) Sets the depth of the shallow contour. Areas with a depth less than the shallow contour depth will be rendered in a darker color than areas with a depth more than the shallow contour depth. The shallow contour is only relevant if the two shades setting is turned off.- Parameters:
aShallowContour- the shallow contour depth.- See Also:
-
getSafetyContour
public double getSafetyContour()Returns the depth of the safety contour.- Returns:
- the depth of the safety contour.
- See Also:
-
setSafetyContour
public void setSafetyContour(double aSafetyContour) Sets the ship's safety contour depth. The safety contour is a bold line indicating the boundaries of the area in which the ship can safely navigate. All areas with a depth less than the safety contour depth (on one side of the safety contour) will be rendered with a darker color than the areas with a depth more than the safety contour depth (on the other side of the safety contour). The safety contour depth and safety depth are independent settings; the former affects the safety contour line and the depth area fill colors, the latter affects the depth soundings colors.- Parameters:
aSafetyContour- the ship's safety contour depth.- See Also:
-
getDeepContour
public double getDeepContour()Returns the depth of the deep contour.- Returns:
- the deep contour depth.
- See Also:
-
setDeepContour
public void setDeepContour(double aDeepContour) Sets the depth of the deep contour. Areas with a depth less than the deep contour depth will be rendered in a darker color than areas with a depth more than the deep contour depth. The deep contour is only relevant if the two shades setting is turned off.- Parameters:
aDeepContour- the deep contour depth.- See Also:
-
isUseTwoShades
public boolean isUseTwoShades()Returns whether to use a 2- or 4-color schema for depth area rendering.- Returns:
- whether to use a 2- or 4-color schema for depth area rendering.
- See Also:
-
setUseTwoShades
public void setUseTwoShades(boolean aUseTwoShades) Sets whether to use a 2- or 4-color schema for depth area rendering. Iftrue, only 2 colors will be used (darker for depths less than the safety contour, lighter for depths more than the safety contour), iffalse, 4 colors will be used (the shallow and deep contour depth will also be taken into account).- Parameters:
aUseTwoShades- boolean indicating whether to use a 2- or 4-color schema for depth area rendering.- See Also:
-
isDisplayShallowPattern
public boolean isDisplayShallowPattern()Returns whether to fill areas with a depth less than the shallow depth with a special fill pattern, as defined by the S-52 specification.- Returns:
- whether to fill shallow areas with a special fill pattern.
- See Also:
-
setDisplayShallowPattern
public void setDisplayShallowPattern(boolean aDisplayShallowPattern) Returns whether to fill areas with a depth less than the shallow depth with a special fill pattern, as defined by the S-52 specification.- Parameters:
aDisplayShallowPattern- boolean indicating whether to fill shallow areas with a special fill pattern.- See Also:
-
isDisplayIsolatedDangersInShallowWater
public boolean isDisplayIsolatedDangersInShallowWater()Returns whether to display isolated dangers in shallow water.- Returns:
- whether to display isolated dangers in shallow water.
- See Also:
-
setDisplayIsolatedDangersInShallowWater
public void setDisplayIsolatedDangersInShallowWater(boolean aDisplayIsolatedDangersInShallowWater) Sets whether to display isolated dangers in shallow water.- Parameters:
aDisplayIsolatedDangersInShallowWater- boolean indicating whether to display isolated dangers in shallow water.- See Also:
-
isDisplayChartBoundaries
public boolean isDisplayChartBoundaries()Returns whether to display chart boundaries.- Returns:
- whether to display chart boundaries.
- See Also:
-
setDisplayChartBoundaries
public void setDisplayChartBoundaries(boolean aDisplayChartBoundaries) Sets whether to display chart boundaries. Iftrue, the boundaries of S-57 cells will be rendered in a special linestyle, as defined by the S-52 specification. This setting is only applicable to cells in catalogues, not for cells which are loaded individually.- Parameters:
aDisplayChartBoundaries- boolean indicating whether to display chart boundaries.- See Also:
-
isDisplayOverscaleIndication
public boolean isDisplayOverscaleIndication()Returns whether to display an overscale indication for cells which are being viewed on a scale larger than the intended scale range.- Returns:
- whether to display an overscale indication.
- See Also:
-
setDisplayOverscaleIndication
public void setDisplayOverscaleIndication(boolean aDisplayOverscaleIndication) Sets whether to display an overscale indication for cells which are being viewed on a scale larger than the intended scale range. The overscale indication is a vertical bar pattern that is drawn on top of the cell, as defined by the S-52 specification. This setting is only applicable to cells in catalogues, not for cells which are loaded individually.- Parameters:
aDisplayOverscaleIndication- boolean indicating whether to display an overscale indication.- See Also:
-
isDisplayUnderscaleIndication
public boolean isDisplayUnderscaleIndication()Returns whether to display an underscale indication for cells which are not visible yet (the map scale is smaller than the intended scale range of the cell).- Returns:
- whether to display an underscale indication.
- See Also:
-
setDisplayUnderscaleIndication
public void setDisplayUnderscaleIndication(boolean aDisplayUnderscaleIndication) Sets whether to display an underscale indication for cells which are not visible yet (the map scale is smaller than the intended scale range of the cell). The underscale indication is a rectangle showing the bounds of the cell. It is not part of the S-52 specification. This setting is only applicable to cells in catalogues, not for cells which are loaded individually.- Parameters:
aDisplayUnderscaleIndication- boolean indicating whether to display an underscale indication.- See Also:
-
getScaleRanges
public double[] getScaleRanges()Deprecated.UsegetScaleDenominators()instead, which uses device-independent scales.Returns the scale range to use for each navigational purpose. The double at index 0 specifies the minimum scale range for navigational purpose 0 (Overview), the double at index 1 the minimum scale range for navigational purpose 1 (General), and so on.
The scales are expressed in pixels/meter.
Warning: you should not modify the returned array directly. Instead, call the corresponding setter with a new, modified instance.
- Returns:
- the scale range to use for each navigational purpose. The array has a length of 10 (one entry for each navigational purpose).
- See Also:
-
setScaleRanges
public void setScaleRanges(double[] aScaleRanges) Deprecated.UsesetScaleDenominators(int[])instead, which uses device-independent scales.Sets the scale range to use for each navigational purpose. The double at index 0 specifies the minimum scale range for navigational purpose 0 (Overview), the double at index 1 the minimum scale range for navigational purpose 1 (General), and so on.
The scales are expressed in pixels/meter.
- Parameters:
aScaleRanges- the scale range to use for each navigational purpose. Must not benulland should have a length of 10 (one entry for each navigational purpose)
-
getScaleDenominators
public int[] getScaleDenominators()Returns the scale denominators to use for each
navigational purpose or level.A scale is expressed as the ratio between one centimeter on the map and the corresponding number of centimeters in reality (similar to paper chart scales).
The array always has 10 elements. The index in the array corresponds to the cell level - 1. To get the appropriate scale for a navigational purpose, use:
double scale = displaySettings.getScaleDenominators()[modelDescriptor.getLevel() - 1];For
ENC, the default scales per level / navigational purpose are as prescribed by S-57 and S-52 specifications:- 1: Overview: 1:5000000
- 2: General: 1:1500000
- 3: Coastal: 1:600000
- 4: Approach: 1:150000
- 5: Harbour: 1:50000
- 6: Berthing: 1:5000
Inland ENChas four additional levels:- 7: River: 1:5000
- 8: River harbour: 1:5000
- 9: River berthing: 1:5000
- 10: Overlay: 1:5000 (this is level "A" in the filename)
For
AML, the default scales per level / navigational purpose are prescribed by the AML V3 specification. Note that for compatibility, level 0 (non-scaled information) must be mapped to index 9.- 1: 1:100000000
- 2: 1:25000000
- 3: 1:5000000
- 4: 1:1000000
- 5: 1:250000
- 6: 1:50000
- 7: 1:10000
- 8: 1:2500
- 9: 1:1600
- 0: 1:100000000 - non-scaled information which is always displayed
Warning: you should not modify the returned array directly. Instead, call the corresponding setter with a new, modified instance.
- Returns:
- the scale denominators to use for each navigational purpose. The array has a length of 10 (one entry for each navigational purpose).
- See Also:
-
setScaleDenominators
public void setScaleDenominators(int[] aScaleDenominators) Sets the scale denominators to use for each navigational purpose.
- Parameters:
aScaleDenominators- the scale denominators to use for each navigational purpose. Must not benulland should have a length of 10 (one entry for each navigational purpose)- See Also:
-
getUnderscaleIndicationColor
Returns the color in which to render the underscale indication.- Returns:
- the color in which to render the underscale indication.
- See Also:
-
setUnderscaleIndicationColor
Sets the color in which to render the underscale indication.- Parameters:
aUnderscaleIndicationColor- the color in which to render the underscale indication.- See Also:
-
isDisplayObjectsOutsideView
public boolean isDisplayObjectsOutsideView()Returns whether objects located outside the view but whose graphical extent overlaps with the view should be displayed.- Returns:
- whether objects located outside the view but whose graphical extent overlaps with the view should be displayed.
- See Also:
-
setDisplayObjectsOutsideView
public void setDisplayObjectsOutsideView(boolean aDisplayObjectsOutsideBorder) Indicates whether the S-57 layers should render objects which are located outside the view bounds, but whose graphical extent overlaps with the view. Enabling this flag results in a more accurate display,but is more expensive (depends on the view size, typically between 20% and 30%). The effect of this setting is most noticeable with point objects that have a large icon representation, such as lights.- Parameters:
aDisplayObjectsOutsideBorder- flag indicating whether objects located outside the view but whose graphical extent overlaps with the view should be displayed.- See Also:
-
isObjectClassSelectionEnabled
public boolean isObjectClassSelectionEnabled()Indicates whether theselected object classeson this display settings should be taken into account.In case the property value is
true, the visibility of object classes behaves as defined by the documentation ofgetObjectClasses().In case the property value is
false, the value of propertyOBJECT_CLASSES_PROPERTYis ignored completely. In this case, the visibility of object classes is defined by thedisplay category.By default, this property is set to
true.- Returns:
- whether object classes can be
selectedor not
-
setObjectClassSelectionEnabled
public void setObjectClassSelectionEnabled(boolean aNewValue) Sets whether theselected object classeson this display settings should be taken into account.In case the
propertyvalue istrue, the visibility of object classes behaves as defined by the documentation ofgetObjectClasses().In case the
propertyvalue isfalse, the value of propertyOBJECT_CLASSES_PROPERTYis ignored completely. In this case, the visibility of object classes is defined by thedisplay category.- Parameters:
aNewValue- the new property value
-
getObjectClasses
public int[] getObjectClasses()Returns the set of object class that is displayed. This value is only taken into account when object classes are
selectable.Warning: you should not modify the returned array directly. Instead, call the corresponding setter with a new, modified instance.
- Returns:
- the set of object class that is displayed. A
nullvalue means no object class filter is applied. - See Also:
-
setObjectClasses
public void setObjectClasses(int[] aObjectClasses) Sets the set of object classes to display.This new value is only taken into consideration if object classes are indeed
selectable.- Parameters:
aObjectClasses- the set of object classes to display. The integers refer to the object class codes, as returned byTLcdS57ObjectClassDescriptor.getCode(). Ifnull, this filter will be ignored.- See Also:
-
setDisplayLandAreas
public void setDisplayLandAreas(boolean aDisplayLandAreas) Enable or disable display of land and built-up areas.If
false, land areas (LNDARE) and built-up areas (BUAARE) will not be visualized and cannot be selected.By default, land area are displayed (value
true).Note that this feature only has effect on Lightspeed layers, not GXY layers.
- Parameters:
aDisplayLandAreas-trueif land area should be displayed,falseotherwise- Since:
- 2013.1
-
isDisplayLandAreas
public boolean isDisplayLandAreas()Indicates whether land and built-up areas are displayed.- Returns:
trueif enabled.- Since:
- 2031.1
- See Also:
-
setDateFilterValue
Sets a date value for filtering.- Parameters:
aDateFilterValue- new filtering value- Since:
- 2015.1
- See Also:
-
getDateFilterValue
Returns the date value for filtering. Objects which have a time interval including this value and objects which do not have any time interval are painted. Others are hidden. If the filter date value is null, all objects are painted. Default filter date value is null.- Returns:
- the date filter value
- Since:
- 2015.1
-
getBeam
public double getBeam()Returns the currently configured ship's beam, in meters. A ship's beam is the width of the ship at its widest point. By default, this is 10 meters. This setting only has effect forInlandECDISdatasets.- Returns:
- The currently configured value of the ship's beam, in meters.
- Since:
- 2018.0.09
-
setBeam
public void setBeam(double aBeam) Set the ship's beam, in meters. SeegetBeam()for details.- Parameters:
aBeam- the new beam, in meters.- Since:
- 2018.0.09
-
getAirDraft
public double getAirDraft()Returns the currently configured ship's air draft, in meters. A ship's air draft (or air draught) is the ship's highest point, measured from the water surface. By default, this is 10 meters. This setting only has effect forInlandECDISdatasets.- Returns:
- The currently configured value of the ship's air draft, in meters.
- Since:
- 2018.0.09
-
setAirDraft
public void setAirDraft(double aAirDraft) Set the ship's air draft, in meters. SeegetAirDraft()for details.- Parameters:
aAirDraft- the new air draft, in meters.- Since:
- 2018.0.09
-
getRadarCategory
Returns the currently configured radar category property. The S-52 OVERRADAR flag classifies whether objects are to be put over or under a radar picture. The radar category property determines which of these objects need to be painted. If you need to show ECDIS data interleaved with a radar, you need to use three layers:- An ECDIS layer for which this S-52 display setting is set to
ELcdS52RadarCategory.UNDER, - The radar layer,
- An ECDIS layer for which this S-52 display setting is set to
ELcdS52RadarCategory.OVER.
ELcdS52RadarCategory.BOTH.- Returns:
- The currently configured value of the radar category property
- Since:
- 2021.1
- An ECDIS layer for which this S-52 display setting is set to
-
setRadarCategory
Set the radar category property. SeegetRadarCategory()for details.- Parameters:
aRadarCategory- the new radar category value.- Since:
- 2021.1
-
addPropertyChangeListener
Description copied from interface:ILcdPropertyChangeSourceRegisters the given
PropertyChangeListenerto be notified when this object's properties change.In case you need to register a listener which keeps a reference to an object with a shorter life-time than this change source, you can use a
ALcdWeakPropertyChangeListenerinstance as property change listener.- Specified by:
addPropertyChangeListenerin interfaceILcdPropertyChangeSource- Parameters:
aPropertyChangeListener- The listener to be notified- See Also:
-
removePropertyChangeListener
Description copied from interface:ILcdPropertyChangeSourceDe-registers the given
PropertyChangeListenerfrom receiving property change events for this object.If the listener was added more than once, it will be notified one less time after being removed. If the listener is
null, or was never added, no exception is thrown and no action is taken.- Specified by:
removePropertyChangeListenerin interfaceILcdPropertyChangeSource- Parameters:
aPropertyChangeListener- the listener that should no longer be notified of changes of this object's properties- See Also:
-
getDataType
Description copied from interface:ILcdDataObjectReturns the type of this data object. This can never benull.- Specified by:
getDataTypein interfaceILcdDataObject- Returns:
- the type of this data object
-
getValue
Returns the value of the given property.
If the property is a collection, the returned value will never be null. If the property has not been set, an empty collection of the appropriate type will be returned (Set, List or Map).
The property must not be null, and must be declared in the
data object's typeor in one of its super types. Otherwise anIllegalArgumentExceptionis thrown.Warning: if this method returns a modifiable object (for example a
Listas for the object classes), you should not modify the object directly. Instead, if you want to change the value you need to create a new, modified version and set this usingsetValue(com.luciad.datamodel.TLcdDataProperty, Object)orsetValue(String, Object).- Specified by:
getValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which the value is to be returned- Returns:
- the value of the given property for this data object
-
getValue
Convenience method that returns the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.getValue(TLcdDataProperty)for more information.Warning: if this method returns a modifiable object (for example a
Listas for the object classes), you should not modify the object directly. Instead, if you want to change the value you need to create a new, modified version and set this usingsetValue(com.luciad.datamodel.TLcdDataProperty, Object)orsetValue(String, Object).- Specified by:
getValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property of which the value is to be returned- Returns:
- the value of the property with the given name
- See Also:
-
setValue
Description copied from interface:ILcdDataObjectSets the value of the given property for this data object. The implementation is allowed to throw an exception if the given value can't be set.
The given property must be declared in thedata object's typeor in one of its super types. In other words, getDataType().getProperties().contains( aProperty ) should always be true. Otherwise, the implementation should throw anIllegalArgumentException.- Specified by:
setValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which the value is to be setaValue- the value to set- See Also:
-
setValue
Description copied from interface:ILcdDataObjectConvenience method that sets the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.setValue(TLcdDataProperty, Object)for more information.- Specified by:
setValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property of which the value is to be setaValue- the value to set
-
hasValue
Description copied from interface:ILcdDataObjectIndicates whether this data object has a value for the given property.aPropertyis from theright data type, and this instance has a value for it: returnstrueaPropertyis from theright data type, and this instance has no value for it: returnsfalseaPropertyis not from theright data type: not allowed, you will get IllegalArgumentExceptionaPropertyisnull: not allowed, you will get NullPointerException
- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the given property,falseotherwise.
-
hasValue
Description copied from interface:ILcdDataObjectIndicates whether this data object has a value for the given property.
SeeILcdDataObject.hasValue(TLcdDataProperty)for more information.- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the property with the given name,falseotherwise.
-
clone
Description copied from interface:ILcdCloneableMakes
When for example extending fromObject.clone()public.java.lang.Object, it can be implemented like this:public Object clone() { try { return super.clone(); } catch ( CloneNotSupportedException e ) { // Cannot happen: extends from Object and implements Cloneable (see also Object.clone) throw new RuntimeException( e ); } }- Specified by:
clonein interfaceILcdCloneable- Overrides:
clonein classObject- See Also:
-
equals
-
hashCode
public int hashCode()
-
getScaleDenominators()instead, which uses device-independent scales.