Package com.luciad.format.vpf.lightspeed
Class TLspVPFGeoSymLabelStyler
java.lang.Object
com.luciad.view.lightspeed.style.styler.ALspStyler
com.luciad.format.vpf.lightspeed.TLspVPFGeoSymLabelStyler
- All Implemented Interfaces:
ILspStyler
A label styler for GeoSym styling of VPF data. For convenience,
TLspVPFLayerBuilder
can be used to create fully configured layers
for a given VPF model.
This styler supports full and simplified GeoSym styling. When using full GeoSym styling the styling will be derived
from the fullsym.txt file, when configured to use simplified styling the simpsym.txt file is used.
The constructors of this class require a VPF product id as a parameter. This can be obtained from
TLcdVPFModelDescriptor
as follows:
TLcdVPFFeatureClass vpfFeatureClass = ((TLcdVPFModelDescriptor) aModel.getModelDescriptor()).getVPFFeatureClass(); String productId = vpfFeatureClass.getCoverage().getLibrary().getProductType();
- Since:
- 2016.1
-
Constructor Summary
ConstructorDescriptionTLspVPFGeoSymLabelStyler
(String aProductId, boolean aSimplifiedGeoSymStyling) Creates a new GeoSym label styler for the given VPF product id.TLspVPFGeoSymLabelStyler
(String aProductId, Set<ALspStyleTargetProvider> aStyleTargetProviders, boolean aSimplifiedGeoSymStyling) Creates a new GeoSym label styler for the given VPF product id. -
Method Summary
Modifier and TypeMethodDescriptionvoid
style
(Collection<?> aObjects, ALspStyleCollector aStyleCollector, TLspContext aContext) Styles the objects or labels contained inaObjects
using the methods provided byALspStyleCollector
.Methods inherited from class com.luciad.view.lightspeed.style.styler.ALspStyler
addStyleChangeListener, fireStyleChangeEvent, fireStyleChangeEvent, removeStyleChangeListener
-
Constructor Details
-
TLspVPFGeoSymLabelStyler
Creates a new GeoSym label styler for the given VPF product id.- Parameters:
aProductId
- 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.- Throws:
IllegalArgumentException
- if the product is an invalid or unsupported VPF product id.- See Also:
-
TLspVPFGeoSymLabelStyler
public TLspVPFGeoSymLabelStyler(String aProductId, Set<ALspStyleTargetProvider> aStyleTargetProviders, boolean aSimplifiedGeoSymStyling) Creates a new GeoSym label styler for the given VPF product id. Use this constructor for models whose model elements are not native VPF domain objects, e.g. for fused VPF data. The style target providers are used by the styler to retrieve the geometries from the elements.- Parameters:
aProductId
- 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.- Throws:
IllegalArgumentException
- if the product is an invalid or unsupported VPF product id.- See Also:
-
-
Method Details
-
style
Description copied from interface:ILspStyler
Styles the objects or labels contained in
aObjects
using the methods provided byALspStyleCollector
.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 inaObjects
. Note that not all objects have to be styled. Objects that are not submitted inaStyleCollector
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.
- Parameters:
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.
-