Class TLcdS101GXYLayer
- All Implemented Interfaces:
ILcdPropertyChangeSource,ILcdSelection<Object>,ILcdGXYEditableLabelsLayer,ILcdGXYLayer,ILcdLayer,Serializable
TLcdS101ModelDecoder. The data will be shown using the standardized symbology outlined in the S-101
specification.
An S-101 layer can display both exchange catalogues (catalog.xml) and individual cell files
(*.000). In the former case, cells will be loaded and unloaded on demand, based on the current extents and
zoom level of the map.- Since:
- 2026.0
- See Also:
-
Field Summary
Fields inherited from interface com.luciad.view.gxy.ILcdGXYEditableLabelsLayer
PLACED_LABELS -
Constructor Summary
ConstructorsConstructorDescriptionTLcdS101GXYLayer(ILcdModel aModel, TLcdS101DisplaySettings aDisplaySettings) Creates a new layer for the given S-101 model. -
Method Summary
Modifier and TypeMethodDescriptionintapplyOnInteract(ILcdFunction aFunction, Rectangle aBounds, boolean aStrictInteract, ILcdGXYView aGXYView) Applies the function to (at the least) all objects that are contained (partially or completely) in the bounds of the view.intapplyOnInteractLabels(ILcdFunction aLabelFunction, Graphics aGraphics, int aPaintMode, ILcdGXYView aGXYView) Applies the function to (at the least) all labels that are contained (partially or completely) in the bounds of the view.voidConvenience method to indicate that the representation of the model is no longer valid.protected voidpaintFromOverlaps(Graphics aGraphics, int aMode, ILcd2DBoundsIndexedModel aModel, ILcdGXYContext aContext) Paints the objects in the passed model by applying a painting function to allObjectof theILcd2DBoundsIndexedModelthat interact with the view clip.Methods inherited from class com.luciad.view.gxy.TLcdGXYLayer
applyOnInteract, applyOnInteract, asFactory, create, getBounds, getGXYEditor, getGXYEditorProvider, getGXYLabelEditor, getGXYLabelEditorProvider, getGXYLabelingAlgorithm, getGXYLabelingAlgorithmProvider, getGXYLabelPainter, getGXYLabelPainterProvider, getGXYLayerLabelPainter, getGXYPainter, getGXYPainterProvider, getGXYPainterProviderArray, getGXYPainters, getGXYPen, getIcon, getInteractMargin, getLabelLocations, getLabelMapScaleRange, getLabelScaleRange, getMapScaleRange, getMinimumObjectSizeForPainting, getModelElementComparator, getModelQueryConfiguration, getModelXYWorldTransfoClass, getPaintLabelsScaleRatioInterval, getScaleRange, isEditableSupported, isLabeled, isLabeledSupported, isLabelsEditable, isLabelsEditableSupported, isPaintFromOverlaps, isSelectionLabeled, isStopPainting, isTraceOn, modeToString, paint, paintFromModel, setClassTraceOn, setFilter, setGXYEditorProvider, setGXYLabelEditorProvider, setGXYLabelingAlgorithmProvider, setGXYLabelPainterProvider, setGXYLayerLabelPainter, setGXYPainterProvider, setGXYPainterProviderArray, setGXYPen, setIcon, setInteractMargin, setLabeled, setLabelLocations, setLabelMapScaleRange, setLabelScaleRange, setLabelsEditable, setMapScaleRange, setMinimumObjectSizeForPainting, setModel, setModelElementComparator, setModelQueryConfiguration, setModelXYWorldTransfoClass, setPaintFromOverlaps, setPaintLabelsScaleRatioInterval, setScaleRange, setSelectionLabeled, setTraceOn, setVisible, startPainting, stopPaintingMethods inherited from class com.luciad.view.TLcdLayer
addPropertyChangeListener, addSelectionListener, clearSelection, fireCollectedSelectionChanges, firePropertyChangeEvent, getFilter, getLabel, getModel, getSelectionCount, isEditable, isSelectable, isSelectableSupported, isSelected, isVisible, removePropertyChangeListener, removeSelectionListener, selectedObjects, selectObject, selectObjects, setEditable, setLabel, setSelectable, setSelectableSupported, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.luciad.view.ILcdLayer
clearSelection, fireCollectedSelectionChanges, getLabel, getModel, isEditable, isSelectable, isSelectableSupported, isVisible, selectObject, setEditable, setLabel, setSelectableMethods inherited from interface com.luciad.util.ILcdPropertyChangeSource
addPropertyChangeListener, removePropertyChangeListenerMethods inherited from interface com.luciad.util.ILcdSelection
addSelectionListener, getSelectedObjects, getSelectionCount, isSelected, removeSelectionListener, selectedObjects
-
Constructor Details
-
TLcdS101GXYLayer
Creates a new layer for the given S-101 model. The layer will use the supplied display settings to control the visualization of the data. Note that changes to the display settings will not be picked up automatically, i.e. it is up to the client application toinvalidatethis layer if the display settings are modified after the layer has been added to the view.- Parameters:
aModel- a model produced byTLcdS101ModelDecoderaDisplaySettings- the display settings to be used by the layer
-
-
Method Details
-
invalidate
public void invalidate()Description copied from class:TLcdLayerConvenience method to indicate that the representation of the model is no longer valid. Call this method after modifying settings that influence the representation of the model, but are not properties of the layer itself. This method does not have to be called when setting a property of the layer itself (for example, calling setVisible) as setting such a property will inform listeners that the representation of the model is no longer valid.- Overrides:
invalidatein classTLcdLayer
-
paintFromOverlaps
protected void paintFromOverlaps(Graphics aGraphics, int aMode, ILcd2DBoundsIndexedModel aModel, ILcdGXYContext aContext) Description copied from class:TLcdGXYLayerPaints the objects in the passed model by applying a painting function to allObjectof theILcd2DBoundsIndexedModelthat interact with the view clip. The paint order is determined by the model.- Overrides:
paintFromOverlapsin classTLcdGXYLayer- Parameters:
aGraphics- the graphics to paint onaMode- seeILcdGXYLayer.paint.aModel- the model to paintaContext- theILcdGXYContextto consider for painting.
-
applyOnInteract
public int applyOnInteract(ILcdFunction aFunction, Rectangle aBounds, boolean aStrictInteract, ILcdGXYView aGXYView) Description copied from class:TLcdGXYLayerApplies the function to (at the least) all objects that are contained (partially or completely) in the bounds of the view.The function shall be applied successively to all objects in the bounds as long as the function returns
truefor an object. This allows developers to indicate a stop condition. Note that the order in which the objects are passed to the function is not specified.When strict interaction is required, only objects whose representation lies within the given bounds, completely or partially, are candidates to be passed to the function. An object whose representation does not interact with the bounds should not be passed to the function. Applying non strict interaction can be useful to avoid heavy computations to determine whether an objects representation lies within the bounds.
This method behaves similar to the paint method, and as such is allowed to omit small or invisible objects for performance reasons.
Objects smaller than the set minimum object size may be omitted.
- Specified by:
applyOnInteractin interfaceILcdGXYLayer- Overrides:
applyOnInteractin classTLcdGXYLayer- Parameters:
aFunction- the function to apply. When the function returns false, no more objects should be passed to the function.aBounds- all objects who lie partially or completely in this area in the view are candidates to be passed to the function.aStrictInteract- iftrue, theILcdFunctionshall be applied only to the objects interacting with the given bounds. When false is passed, other objects may be taken into account too. When applying the function to an object consumes less time than checking whether an objects representation interacts with the bounds, non-strict interaction is generally faster.aGXYView- the view in whose bounds the objects representations should be in order to be passed to the function.- Returns:
- the number of objects the function was applied on.
-
applyOnInteractLabels
public int applyOnInteractLabels(ILcdFunction aLabelFunction, Graphics aGraphics, int aPaintMode, ILcdGXYView aGXYView) Description copied from interface:ILcdGXYEditableLabelsLayerApplies the function to (at the least) all labels that are contained (partially or completely) in the bounds of the view. This method behaves similar to the paint method, and as such is allowed to omit labels for small or invisible objects for performance reasons. For example, it can disregard labels for objects outside the scale range, or labels outside the label scale range.The function shall be applied successively to all labels in the bounds as long as the function returns
truefor a label. This allows developers to indicate a stop condition. Note that the order in which the labels are passed to the function is not specified.The mode indicates what labels should be taken into account. The labels to be taken into account shall be one of:
- ALL: all the labels in the layer's model, or
- SELECTION: all the labels in the layer's selection.
The representations provided shall be a combination of one or more of:
- BODIES: the combination of label representations of the objects,
- HANDLES: the handles for the labeled objects,
- LABELS: the combination of the textual labels representations of the objects.
The mode supplied shall be a bitwise 'or' combination of a constant of the first group and a combination of constants of the second group.
- Specified by:
applyOnInteractLabelsin interfaceILcdGXYEditableLabelsLayer- Overrides:
applyOnInteractLabelsin classTLcdGXYLayer- Parameters:
aLabelFunction- the function to apply. When the function returnsfalse, no more labels should be passed to the function. The Object passed to this function is always aTLcdLabelIdentifier.aGraphics- the graphicsaPaintMode- the paint mode.aGXYView- the view in whose bounds the objects representations should be in order passed to the function. Note that for efficiency reasons (e.g. to avoid expensive bounds calculations) objects may be passed that are not inside the view bounds.- Returns:
- the number of objects the function was applied on.
-