public class TLspVPFGeoSymStyler extends ALspStyler
TLspVPFLayerBuilder
can be used to create fully configured layers
for a given VPF model.
The Z-order of the elements is based on the geometry type as follows (top-to-bottom):
TLcdVPFModelDescriptor
as follows:
TLcdVPFFeatureClass vpfFeatureClass = ((TLcdVPFModelDescriptor) aModel.getModelDescriptor()).getVPFFeatureClass(); String productId = vpfFeatureClass.getCoverage().getLibrary().getProductType();
Constructor and Description |
---|
TLspVPFGeoSymStyler(String aVPFProductId)
Creates a new GeoSym styler, using full GeoSym styling, for the given VPF product id.
|
TLspVPFGeoSymStyler(String aVPFProductId,
boolean aSimplifiedGeoSymStyling)
Creates a new GeoSym styler for the given VPF product id.
|
TLspVPFGeoSymStyler(String aVPFProductId,
Set<ALspStyleTargetProvider> aStyleTargetProviders)
Creates a new GeoSym styler, using full GeoSym styling, for the given VPF product id.
|
TLspVPFGeoSymStyler(String aVPFProductId,
Set<ALspStyleTargetProvider> aStyleTargetProviders,
boolean aSimplifiedGeoSymStyling)
Creates a new GeoSym styler for the given VPF product id.
|
Modifier and Type | Method and Description |
---|---|
void |
setOpacity(float aOpacity)
Sets the opacity of all colors and icons used by this styler.
|
void |
style(Collection<?> aObjects,
ALspStyleCollector aStyleCollector,
TLspContext aContext)
Styles the objects or labels contained in
aObjects using the methods provided
by ALspStyleCollector . |
addStyleChangeListener, fireStyleChangeEvent, fireStyleChangeEvent, removeStyleChangeListener
public TLspVPFGeoSymStyler(String aVPFProductId)
TLcdVPFModelDecoder
.aVPFProductId
- a VPF product id for which to create a GeoSym stylerIllegalArgumentException
- if the product is an invalid or unsupported VPF product id.TLcdVPFLibrary.getProductType()
public TLspVPFGeoSymStyler(String aVPFProductId, boolean aSimplifiedGeoSymStyling)
TLcdVPFModelDecoder
.aVPFProductId
- a VPF product id for which to create a GeoSym styleraSimplifiedGeoSymStyling
- whether to use full GeoSym styling or simplified GeoSym styling.
true
enables simplified GeoSym styling.IllegalArgumentException
- if the product is an invalid or unsupported VPF product id.TLcdVPFLibrary.getProductType()
public TLspVPFGeoSymStyler(String aVPFProductId, Set<ALspStyleTargetProvider> aStyleTargetProviders)
aVPFProductId
- a VPF product id for which to create a GeoSym styleraStyleTargetProviders
- the style target providers to use for retrieving geometries from the domain objectsIllegalArgumentException
- if the product is an invalid or unsupported VPF product id.TLcdVPFLibrary.getProductType()
public TLspVPFGeoSymStyler(String aVPFProductId, Set<ALspStyleTargetProvider> aStyleTargetProviders, boolean aSimplifiedGeoSymStyling)
aVPFProductId
- a VPF product id for which to create a GeoSym styleraStyleTargetProviders
- the style target providers to use for retrieving geometries from the domain objectsaSimplifiedGeoSymStyling
- whether to use full GeoSym styling or simplified GeoSym styling.
true
enables simplified GeoSym styling.IllegalArgumentException
- if the product is an invalid or unsupported VPF product id.TLcdVPFLibrary.getProductType()
public void setOpacity(float aOpacity)
aOpacity
- the alpha value.
Must be contained in the [0,1] interval (0 is fully transparent, 1 is fully opaque).public void style(Collection<?> aObjects, ALspStyleCollector aStyleCollector, TLspContext aContext)
ILspStyler
Styles the objects or labels contained in aObjects
using the methods provided
by ALspStyleCollector
.
Example usages for object styling:
// Same style for all objects:
aStyleCollector.objects(aObjects).style(myStyle).submit();
// Object specific styling:
aStyleCollector.object(myObject1).style(myStyle1).submit();
aStyleCollector.object(myObject2).style(myStyle2).submit();
Example usages for label styling:
if (aStyleCollector instanceof ALspLabelStyleCollector) {
ALspLabelStyleCollector labelStyleCollector = (ALspLabelStyleCollector)aStyleCollector;
// Specify a priority for all labels of all objects:
labelStyleCollector.objects(aDomainObjects).allLabels().priority(3).styles(...).submit();
// Specify an algorithm for a specific label:
labelStyleCollector.object(myObject1).label(123).algorithm(...).styles(...).submit();
}
The objects that are provided to aStyleCollector
must be objects that are contained in
aObjects
. Note that not all objects have to be styled. Objects that are not submitted in
aStyleCollector
will not be painted.
This method can be called very frequently, depending on the (amount of) data. If this method is not implemented efficiently, painting performance may be affected.
aObjects
- The objects to be styled.aStyleCollector
- A style collector to which all styling information
should be passed, this collector is only valid within this method
call, and can no longer be used afterwards.aContext
- Provides context information that may affect styling, such as view specific properties.