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
Modifier and TypeFieldDescriptionstatic final TLcdDataProperty
TheTLcdDataProperty
which represents thegetAirDraft()
, in meters.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetAreaBoundarySymbolType()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetBeam()
, in meters.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetColorType()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetDateFilterValue()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetDeepContour()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetDisplayCategory()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayChartBoundaries()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayFullLengthLightSectorLines()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayIsolatedDangersInShallowWater()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayLandAreas()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayMetaData()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayObjectsOutsideView()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayOverscaleIndication()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayShallowPattern()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplaySoundings()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetDisplayTextGroups()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayText()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisDisplayUnderscaleIndication()
.static final TLcdDataProperty
Property that represents whether object classes are selectable.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetObjectClasses()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetPointSymbolType()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetProductType()
property.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetRadarCategory()
property.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetSafetyContour()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetSafetyDepth()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetScaleDenominators()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetShallowContour()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents thegetUnderscaleIndicationColor()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisUseAbbreviations()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisUseNationalLanguage()
.static final TLcdDataProperty
TheTLcdDataProperty
which represents theisUseTwoShades()
. -
Constructor Summary
ConstructorDescriptionCreates a newTLcdS52DisplaySettings
instance 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 newTLcdS52DisplaySettings
instance with default display settings for the given product. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPropertyChangeListener
(PropertyChangeListener aPropertyChangeListener) Registers the givenPropertyChangeListener
to be notified when this object's properties change.clone()
MakesObject.clone()
public.boolean
double
Returns the currently configured ship's air draft, in meters.int
Returns the symbol type to be used for the rendering of boundaries of area objects.double
getBeam()
Returns the currently configured ship's beam, in meters.int
Returns the S-52 color scheme to be used.Returns the type of this data object.Returns the date value for filtering.double
Returns the depth of the deep contour.int
Returns 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.int
Returns 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.double
Returns the depth of the safety contour.double
Returns the ship's safety depth.int[]
Returns the scale denominators to use for eachnavigational purpose or level
.double[]
Deprecated.double
Returns 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.int
hashCode()
boolean
hasValue
(TLcdDataProperty aProperty) Indicates whether this data object has a value for the given property.boolean
Indicates whether this data object has a value for the given property.boolean
Returns whether to display chart boundaries.boolean
Returns whether sector lines of lights should be displayed at full length.boolean
Returns whether to display isolated dangers in shallow water.boolean
Indicates whether land and built-up areas are displayed.boolean
Returns whether metadata should be displayed or not.boolean
Returns whether objects located outside the view but whose graphical extent overlaps with the view should be displayed.boolean
Returns whether to display an overscale indication for cells which are being viewed on a scale larger than the intended scale range.boolean
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.boolean
Returns whether depth soundings should be displayed or not.boolean
Returns whether textual information of objects should be displayed or not.boolean
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).boolean
Indicates whether theselected object classes
on this display settings should be taken into account.boolean
Returns whether to use abbreviations for text rendering.boolean
Returns whether to use the national language text labels instead of the default (international) labels.boolean
Returns whether to use a 2- or 4-color schema for depth area rendering.void
removePropertyChangeListener
(PropertyChangeListener aPropertyChangeListener) De-registers the givenPropertyChangeListener
from receiving property change events for this object.void
setAirDraft
(double aAirDraft) Set the ship's air draft, in meters.void
setAll
(TLcdS52DisplaySettings aDisplaySettings) Configures this display settings with the configuration of the specified display settings.void
setAreaBoundarySymbolType
(int aAreaBoundarySymbolType) Sets the symbol type to be used for the rendering of boundaries of area objects.void
setBeam
(double aBeam) Set the ship's beam, in meters.void
setColorType
(int aColorType) Sets the S-52 color scheme to be used.void
setDateFilterValue
(Date aDateFilterValue) Sets a date value for filtering.void
setDeepContour
(double aDeepContour) Sets the depth of the deep contour.void
setDisplayCategory
(int aDisplayCategory) Sets the S-52 display category to be rendered.void
setDisplayChartBoundaries
(boolean aDisplayChartBoundaries) Sets whether to display chart boundaries.void
setDisplayFullLengthLightSectorLines
(boolean aDisplayFullLengthLightSectorLines) Sets whether sector lines of lights should be displayed at full length.void
setDisplayIsolatedDangersInShallowWater
(boolean aDisplayIsolatedDangersInShallowWater) Sets whether to display isolated dangers in shallow water.void
setDisplayLandAreas
(boolean aDisplayLandAreas) Enable or disable display of land and built-up areas.void
setDisplayMetaData
(boolean aDisplayMetaData) Sets whether metadata should be displayed or not.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.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.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.void
setDisplaySoundings
(boolean aDisplaySoundings) Sets whether depth soundings should be displayed or not.void
setDisplayText
(boolean aDisplayText) Sets whether textual information of objects should be displayed or not.void
setDisplayTextGroups
(boolean[] aDisplayTextGroups) Sets the boolean array indicating which text groups to display.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).void
setObjectClasses
(int[] aObjectClasses) Sets the set of object classes to display.void
setObjectClassSelectionEnabled
(boolean aNewValue) Sets whether theselected object classes
on this display settings should be taken into account.void
setPointSymbolType
(int aPointSymbolType) Sets the symbol type to be used for the rendering of point objects.void
setRadarCategory
(ELcdS52RadarCategory aRadarCategory) Set the radar category property.void
setSafetyContour
(double aSafetyContour) Sets the ship's safety contour depth.void
setSafetyDepth
(double aSafetyDepth) Sets the ship's safety depth.void
setScaleDenominators
(int[] aScaleDenominators) Sets the scale denominators to use for each navigational purpose.void
setScaleRanges
(double[] aScaleRanges) Deprecated.UsesetScaleDenominators(int[])
instead, which uses device-independent scales.void
setShallowContour
(double aShallowContour) Sets the depth of the shallow contour.void
setUnderscaleIndicationColor
(Color aUnderscaleIndicationColor) Sets the color in which to render the underscale indication.void
setUseAbbreviations
(boolean aUseAbbreviations) Sets whether to use abbrevations for text rendering.void
setUseNationalLanguage
(boolean aUseNationalLanguage) Sets whether to use national language text labels.void
setUseTwoShades
(boolean aUseTwoShades) Sets whether to use a 2- or 4-color schema for depth area rendering.void
setValue
(TLcdDataProperty aProperty, Object aValue) Sets the value of the given property for this data object.void
Convenience method that sets the value of the property with the given name.
-
Field Details
-
COLOR_SCHEME_PROPERTY
TheTLcdDataProperty
which represents thegetColorType()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be anELcdS52ColorScheme
instance. -
POINT_SYMBOL_TYPE_PROPERTY
TheTLcdDataProperty
which represents thegetPointSymbolType()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be anELcdS52PointSymbol
instance. -
AREA_BOUNDARY_SYMBOL_TYPE_PROPERTY
TheTLcdDataProperty
which represents thegetAreaBoundarySymbolType()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be anELcdS52AreaBoundarySymbol
instance. -
DISPLAY_FULL_LENGTH_LIGHT_SECTOR_LINES_PROPERTY
TheTLcdDataProperty
which represents theisDisplayFullLengthLightSectorLines()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_CATEGORY_PROPERTY
TheTLcdDataProperty
which represents thegetDisplayCategory()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be anELcdS52DisplayCategory
instance. -
DISPLAY_SOUNDINGS_PROPERTY
TheTLcdDataProperty
which represents theisDisplaySoundings()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_LAND_AREAS_PROPERTY
TheTLcdDataProperty
which represents theisDisplayLandAreas()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_METADATA_PROPERTY
TheTLcdDataProperty
which represents theisDisplayMetaData()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_TEXT_PROPERTY
TheTLcdDataProperty
which represents theisDisplayText()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_TEXT_GROUPS_PROPERTY
The
TLcdDataProperty
which represents thegetDisplayTextGroups()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aList
instance containingInteger
s. The list will contain the indices of the groups for which text is displayed.Note that editing the
List
instance has no effect. In order to make changes to theList
retrieved usinggetValue(com.luciad.datamodel.TLcdDataProperty)
, you need to set a new, modifiedList
instance usingsetValue(com.luciad.datamodel.TLcdDataProperty, Object)
. -
USE_ABBREVIATIONS_PROPERTY
TheTLcdDataProperty
which represents theisUseAbbreviations()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
USE_NATIONAL_LANGUAGE_PROPERTY
TheTLcdDataProperty
which represents theisUseNationalLanguage()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
SAFETY_DEPTH_PROPERTY
TheTLcdDataProperty
which represents thegetSafetyDepth()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aDouble
instance. -
SHALLOW_CONTOUR_PROPERTY
TheTLcdDataProperty
which represents thegetShallowContour()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aDouble
instance. -
SAFETY_CONTOUR_PROPERTY
TheTLcdDataProperty
which represents thegetSafetyContour()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aDouble
instance. -
DEEP_CONTOUR_PROPERTY
TheTLcdDataProperty
which represents thegetDeepContour()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aDouble
instance. -
USE_TWO_SHADES_PROPERTY
TheTLcdDataProperty
which represents theisUseTwoShades()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_SHALLOW_PATTERN_PROPERTY
TheTLcdDataProperty
which represents theisDisplayShallowPattern()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_ISOLATED_DANGERS_IN_SHALLOW_WATER_PROPERTY
TheTLcdDataProperty
which represents theisDisplayIsolatedDangersInShallowWater()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_CHART_BOUNDARIES_PROPERTY
TheTLcdDataProperty
which represents theisDisplayChartBoundaries()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_OVERSCALE_INDICATION_PROPERTY
TheTLcdDataProperty
which represents theisDisplayOverscaleIndication()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
DISPLAY_UNDERSCALE_INDICATION_PROPERTY
TheTLcdDataProperty
which represents theisDisplayUnderscaleIndication()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
UNDERSCALE_INDICATION_COLOR_PROPERTY
TheTLcdDataProperty
which represents thegetUnderscaleIndicationColor()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aColor
instance. -
DISPLAY_OBJECTS_OUTSIDE_VIEW_PROPERTY
TheTLcdDataProperty
which represents theisDisplayObjectsOutsideView()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aBoolean
instance. -
SCALE_DENOMINATORS_PROPERTY
The
TLcdDataProperty
which represents thegetScaleDenominators()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aList
instance containing all scale denominators.Note that editing the
List
instance has no effect. In order to make changes to theList
retrieved usinggetValue(com.luciad.datamodel.TLcdDataProperty)
, you need to set a new, modifiedList
instance 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 aBoolean
instance. The default value for this property istrue
.- Since:
- 2015.1
-
DATE_FILTER_VALUE_PROPERTY
TheTLcdDataProperty
which represents thegetDateFilterValue()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aDate
instance. Default value for this property is null. -
OBJECT_CLASSES_PROPERTY
The
TLcdDataProperty
which represents thegetObjectClasses()
. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aList
instance containing all object classes.Note that editing the
List
instance has no effect. In order to make changes to theList
retrieved usinggetValue(com.luciad.datamodel.TLcdDataProperty)
, you need to set a new, modifiedList
instance usingsetValue(com.luciad.datamodel.TLcdDataProperty, Object)
. -
BEAM_PROPERTY
TheTLcdDataProperty
which represents thegetBeam()
, in meters. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aDouble
instance. Default value for this property is 10.0.- Since:
- 2018.0.09
- See Also:
-
AIR_DRAFT_PROPERTY
TheTLcdDataProperty
which represents thegetAirDraft()
, in meters. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aDouble
instance. Default value for this property is 10.0.- Since:
- 2018.0.09
- See Also:
-
RADAR_CATEGORY_PROPERTY
TheTLcdDataProperty
which represents thegetRadarCategory()
property. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aELcdS52RadarCategory
instance. Default value for this property isBOTH
.- Since:
- 2021.1
- See Also:
-
PRODUCT_TYPE_PROPERTY
TheTLcdDataProperty
which represents thegetProductType()
property. Can be passed to thegetValue(com.luciad.datamodel.TLcdDataProperty)
method, in which case the return value will be aELcdS57ProductType
instance. 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 newTLcdS52DisplaySettings
instance with default display settings for ENC. -
TLcdS52DisplaySettings
Creates a newTLcdS52DisplaySettings
instance 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_COLORS
orILcdS52Symbology.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_SYMBOLS
orILcdS52Symbology.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_SYMBOLS
orILcdS52Symbology.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.DISPLAYBASE
andILcdS52Style.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:
true
if national language labels are used,false
otherwise. 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
-true
if national language labels should be used,false
otherwise.
-
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 benull
and 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 ENC
has 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 benull
and 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 classes
on 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_PROPERTY
is 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
selected
or not
-
setObjectClassSelectionEnabled
public void setObjectClassSelectionEnabled(boolean aNewValue) Sets whether theselected object classes
on this display settings should be taken into account.In case the
property
value istrue
, the visibility of object classes behaves as defined by the documentation ofgetObjectClasses()
.In case the
property
value isfalse
, the value of propertyOBJECT_CLASSES_PROPERTY
is 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
null
value 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
-true
if land area should be displayed,false
otherwise- Since:
- 2013.1
-
isDisplayLandAreas
public boolean isDisplayLandAreas()Indicates whether land and built-up areas are displayed.- Returns:
true
if 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 forInlandECDIS
datasets.- 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 forInlandECDIS
datasets.- 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:ILcdPropertyChangeSource
Registers the given
PropertyChangeListener
to 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
ALcdWeakPropertyChangeListener
instance as property change listener.- Specified by:
addPropertyChangeListener
in interfaceILcdPropertyChangeSource
- Parameters:
aPropertyChangeListener
- The listener to be notified- See Also:
-
removePropertyChangeListener
Description copied from interface:ILcdPropertyChangeSource
De-registers the given
PropertyChangeListener
from 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:
removePropertyChangeListener
in 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:ILcdDataObject
Returns the type of this data object. This can never benull
.- Specified by:
getDataType
in 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 type
or in one of its super types. Otherwise anIllegalArgumentException
is thrown.Warning: if this method returns a modifiable object (for example a
List
as 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:
getValue
in 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
List
as 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:
getValue
in 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:ILcdDataObject
Sets 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 type
or 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:
setValue
in interfaceILcdDataObject
- Parameters:
aProperty
- the property for which the value is to be setaValue
- the value to set- See Also:
-
setValue
Description copied from interface:ILcdDataObject
Convenience 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:
setValue
in 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:ILcdDataObject
Indicates whether this data object has a value for the given property.aProperty
is from theright data type
, and this instance has a value for it: returnstrue
aProperty
is from theright data type
, and this instance has no value for it: returnsfalse
aProperty
is not from theright data type
: not allowed, you will get IllegalArgumentExceptionaProperty
isnull
: not allowed, you will get NullPointerException
- Specified by:
hasValue
in interfaceILcdDataObject
- Parameters:
aProperty
- the property for which to return whether a value is present or not.- Returns:
true
if this data object has a value for the given property,false
otherwise.
-
hasValue
Description copied from interface:ILcdDataObject
Indicates whether this data object has a value for the given property.
SeeILcdDataObject.hasValue(TLcdDataProperty)
for more information.- Specified by:
hasValue
in interfaceILcdDataObject
- Parameters:
aPropertyName
- the name of the property for which to return whether a value is present or not.- Returns:
true
if this data object has a value for the property with the given name,false
otherwise.
-
clone
Description copied from interface:ILcdCloneable
Makes
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:
clone
in interfaceILcdCloneable
- Overrides:
clone
in classObject
- See Also:
-
equals
-
hashCode
public int hashCode()
-
getScaleDenominators()
instead, which uses device-independent scales.