2024.0

2024.0.05

Bug fixDefense Standards

LCD-13500
TLcdNITFModelDecoder can now process image blocks with differing width and height, meaning they no longer need to be square.

2023.0

2023.0.12

Bug fixDefense Standards

LCD-12308
TLcdNITFModelDecoder#canDecodeSource is now more strict when checking CADRG frame files. This decreases the chance of the NITF model decoder falsely indicating that it can decode a file with a CADRG frame file extension.

2022.0

2022.0.16

Bug fixDefense Standards

LCD-12685
TLcdNITFModelDecoder#decode now throws an IOException instead of an OutOfMemoryError when parsing a corrupt NITF tagged record extension.

2022.0

Bug fixDefense Standards

LCD-12265
TLcdBCIRasterModelDecoder now adds the supporting sources to the TLcdModelMetadata of its decoded models. These supporting sources are all the individual QDR files, as well as the vqtable file, if it exists.

2021.1

2021.1.07

Bug fixDefense Standards

LCD-12212
TLspVPFLayerBuilder: the ILspLayer.LayerType set on the builder was not correctly set on the layers build.

2021.1.06

Bug fixDefense Standards

LCD-12204
The TLcdUSRPModelDecoder now returns data series and supporting files when decoding model metadata.

2021.1

Bug fixDefense Standards

LCD-12030
Setting TLcdNITFModelDecoder#setIgnoreGraphics to true now correctly ensures that CGM graphics are not included in the resulting model.

Bug fixDefense Standards

LCD-12029
Fixed issue where certain NITF elements would not be georeferenced correctly when TLcdNITFModelDecoder#setSeparateGraphics is set to true and the element's parent is not an image element, or it has no parent at all.

2020.1

2020.1.22

Bug fixDefense Standards

LCD-11710
TLcdNITFModelDecoder: nested NITF segments (with ALVL>0) are now correctly positioned relative to their parents' position.

Bug fixDefense Standards

LCD-11155
Some fill patterns were incorrectly visualized in an ILcdGXYView when using display scaling.

2020.1.15

Bug fixDefense Standards

LCD-11711
TLcdNITFModelDecoder: nested NITF segments (with ALVL>0) now correctly inherit their parents' reference if they don't define one themselves.

Upgrade considerationDefense Standards

LCD-11716
TLcdNITFModelDecoder.decodeImageBounds now has the display and attachment level of the image segment bounds to decode as additional arguments.

2020.1.12

Bug fixDefense Standards

LCD-11687
Fixed an issue where NITF 2.10 files with NBPPBV or NPPBH equal to zero could not be decoded, even if NBPR and NBPC are equal to 1.

2020.0

2020.0

New featureDefense Standards

XML files containing data for the MGCP 2.0.1 Portrayal standard can now be decoded and visualized in Lightspeed and GXY views, and LuciadFusion WMS/WMTS services.

MGCP dataset
Example of a dataset rendered with MGCP styling

For more details, see:

ImprovementDefense Standards

LCD-11166
MGCP zip files are now supported. In order to use the .zip files they must be renamed to .mgcp.zip.

2019.1

2019.1.09

Bug fixDefense Standards

LCD-11192
TLcdVPFModelDecoder: If the decoder was configured to decode features using ELEMENT_PER_FEATURE, some geometries could be missing.

2018.1

2018.1.09

Bug fixDefense Standards

LCD-10548
TLcdVPFModelDescriptor: a NullPointerException was thrown when calling #getDataModel for models not containing VPF features (e.g. the library model).

2018.0

2018.0

Upgrade considerationDefense Standards

LCD-9361
TLcdVPFModelDescriptor#getVFPFeatureClass has been removed, this method duplicated TLcdVPFModelDescriptor#getVPFFeatureClass which should be used instead.

2017.1

2017.1.12

ImprovementDefense Standards

LCD-9802
The USRP decoder now supports all known directory structures regardless of the specific format (ADRG/ASRP/USRP).

2017.1.09

ImprovementDefense Standards

LCD-9758
TLcdVPFGeoSymProvider did not recognize the product id 'VMap Lv 2 PL' or 'VMapL2 PL'.

2017.1

Upgrade considerationDefense Standards

LCD-9312
When VPF data is decoded via the VPF database header table (dht), the TLcdVPFModelDecoder returns an ILcdModelTreeNode. At the level that coincides with the VPF database, library and coverage levels, these ILcdModelTreeNode no longer have an TLcdVPFModelDescriptor, instead they will now return a TLcdModelDescriptor. As a result of this change, to check if a model contains VPF data, you need to check whether TLcdVPFModelDescriptor.TYPE_NAME is equal to ILcdModelDescriptor#getTypeName.

2017.0

2017.0.07

Bug fixDefense Standards

LCD-9261
TLcdVPFModelDecoder: An ArrayIndexOutOfBoundsException was thrown when the header of an FCS table indicated a wrong row count. Now the decoder reads all the rows from the table and logs a warning when the row count does not match.

2017.0.06

ImprovementDefense Standards

LCD-9370
The NITF, CADRG and ECRG decoders now support all data series codes that were added in MIL-STD-2411-1 Change 3 (2010). Codes without a predefined scale (CG, CM, CO, HA, IV, M1, M2, MM, OA) and codes with sub-meter resolution (I5) are recognized, but can't be decoded. The ECRG decoder will issue a warning if an unsupported frame is encountered, but still try to decode the remaining frames.

2017.0.02

Bug fixDefense Standards

LCD-9287
TLcdVPFGeoSymProvider did not recognize the product id for Tactical Ocean Data (e.g TOD0).

2017.0

ImprovementDefense Standards

LCD-8745
TLcdVPFGXYLayerFactory now makes it possible to easily create layers for VPF data.

ImprovementDefense Standards

LCD-8745
TLcdNITFGXYLayerFactory now makes it possible to easily create layers for NITF data.

Upgrade considerationDefense Standards

When decoding a .THF file, the TLcdUSRPModelDecoder now returns ILcdModelTreeNode instances by default, instead of TLcdModelList instances. ILcdModelTreeNode's have many advantages such as the ability to mix sub-models with different coordinate systems, and have built-in GXY layer factories to support them. If needed, this change can be reverted using TLcdUSRPModelDecoder#setCreateModelTreeNodes.

2016.1

2016.1.16

Bug fixDefense Standards

LCD-8732
The NITF decoder no longer relies on reflection to instantiate segments. This avoids issues caused by code optimizers removing seemingly unused constructors.

2016.1.03

Bug fixDefense Standards

LCD-8183
The NITF orthorectifying decoder is now configured as a service, so it can be used from the main GXY and Lightspeed decoders. The dedicated orthorectification sample has been removed.

To perform orthorectification, first decode some elevation data and then your NITF data. Both have to be decoded using the orthorectifying decoder.

2016.1.02

Bug fixDefense Standards

LCD-8377
Some NITF files that use a camera position that is tilted towards the horizon couldn't be visualized.

2016.1

ImprovementDefense Standards

LCD-7430
TLspVPFGeoSymStyler now has the option to set an opacity.

ImprovementDefense Standards

TLcdVPFModelDecoder now supports the use of the Database Header Table (DHT) file as an entry point for decoding. In this case, the decoder produces an ILcdModelTreeNode whose structure reflects that of the VPF database.

ImprovementDefense Standards

Lightspeed views now provide full support for GeoSym styling. The new class TLspVPFLayerBuilder facilitates the creation of layers for VPF data and can be used to choose between full and simplified GeoSym symbology.

2016.0

2016.0.07

Bug fixDefense Standards

LCD-7645
Padding data in tiles near the image edge is now correctly skipped over.

2015.1

2015.1.28

Bug fixDefense Standards

LCD-7608
Fixed an issue which caused certain BCI models to be rendered with the wrong pixel density.

2015.1.01

ImprovementDefense Standards

LCD-6938
Fixed text alignment in TLspVPFGeoSymStyler to behave similarly to GXY.

ImprovementDefense Standards

LCD-6873
The TLspVPFGeoSymStyler now has a default styling in case no GeoSym style was found for a specific VPF feature. Previously the feature would not be rendered.

Bug fixDefense Standards

LCD-6934
Fixed a potential ClassCastException that could occur while using TLspVPFGeoSymStyler.

2015.0

2015.0.12

Bug fixDefense Standards

LCD-6797
Fixed NullPointerException that could occur when requesting the bounds of a VPF domain object.

2015.0.01

Bug fixDefense Standards

LCD-4259
TLcdNITFModelDecoder can now decode JPEG data with padding bytes.

2015.0

ImprovementDefense Standards

The NITF and ECRG decoders now support multiband imagery and arbitrary pixel depths. Full support is available via the imaging API, legacy rasters are limited to best-effort RGB or grayscale decoding.

2014.1

2014.1.03

Bug fixDefense Standards

LCD-6215
Fixed issue where the NITF decoder would try to cast multilevel rasters to regular rasters when building an image adapter.

2014.1.01

Bug fixDefense Standards

LCD-6091
The ECRG model decoder always estimated the raster pixel density based on the first tile, even if that tile was empty. The first non-empty tile is now used.

2014.0

2014.0.11

Bug fixDefense Standards

LCD-5842
The ECRG model decoder required the root EPF directory to be part of the frame paths in TOC.xml. This is not required anymore, but still accepted.

2014.0.01

Bug fixDefense Standards

LCD-5488
Fixed rendering of GeoSym icons that had incorrectly filled ovals.

2014.0

ImprovementDefense Standards

The TLcdBCIRasterModelDecoder has been adapted for integration with the new imaging API. It now produces domain objects that also implement one of the new interfaces: ALcdImage, ALcdMultilevelImage, ALcdImageMosaic or ALcdMultilevelImageMosaic. Please refer to the class javadoc, com.luciad.imaging package javadoc and to the developer's guide for more information.

ImprovementDefense Standards

The TLcdECRGModelDecoder and TLcdNITFModelDecoder have been adapted for integration with the new imaging API. They now produces domain objects that also implement one of the new interfaces: ALcdImage, ALcdMultilevelImage, ALcdImageMosaic or ALcdMultilevelImageMosaic. Please refer to the class javadoc, com.luciad.imaging package javadoc and to the developer's guide for more information.

ImprovementDefense Standards

The TLcdUSRPModelDecoder has been adapted for integration with the new imaging API. It now produces domain objects that also implement one of the new interfaces: ALcdImage, ALcdMultilevelImage, ALcdImageMosaic or ALcdMultilevelImageMosaic. Please refer to the class javadoc, com.luciad.imaging package javadoc and to the developer's guide for more information.

Bug fixDefense Standards

LCD-5126
Improved detection of wrapping coordinates. The decoder sometimes produced stretched images by falsely assuming that the coordinates wrapped around the date line.

2013.1

2013.1.26

Bug fixDefense Standards

LCD-5038
NSIF/NITF images defined in UPS north or south are now decoded correctly.

2013.1.19

Bug fixDefense Standards

LCD-4847
TLcdNITFUncompressedImageDecoder now correctly decodes multiband rasters.

2013.1.05

Bug fixDefense Standards

LCD-4698
Fixed an error in the coordinate transformation of southern UTM zones.

2013.1.04

ImprovementDefense Standards

LCD-4424
Support for older SENSRB files has been restored. Files that fail to decode using the 2011 specification will fall back to the 2009 draft.

2013.1.01

ImprovementDefense Standards

LCD-4469
TLcdNITFModelDecoder now uses a better sub-tile size when decoding JPEG2000 files.

Bug fixDefense Standards

LCD-4469
TLcdNITFModelDecoder can now decode files larger than 2 GB.

Bug fixDefense Standards

LCD-4469
TLcdNITFModelDecoder now supports drag-n-drop when decoding JPEG2000 files.

Bug fixDefense Standards

LCD-4469
TLcdNITFModelDecoder now correctly orders the rasters in the resulting multilevel raster when setDecodeMultilevelRasters(true) is used for JPEG2000 files.

2013.1

ImprovementDefense Standards

Added support for the ECRG format. See MIL-PRF-32283.

Bug fixDefense Standards

LCD-4429
TLcdNITFModelDecoder can now decode files larger than 2 GB.

2013.0

2013.0.25

Bug fixDefense Standards

LCD-4381
The default value for elevation rasters is now 32001, instead of 0. This solves issues with height providers that translate the default value to NaN.

2013.0.04

Bug fixDefense Standards

LCD-3977
TLcdNITFModelDecoder now correctly processes blocked images in combination with JPEG compression.

2013.0

ImprovementDefense Standards

TLcdNITFModelDecoder now has a default model reference decoder.

ImprovementDefense Standards

The previous samples have been merged into one sample. This sample still supports orthorectification of NITF rasters using SENSRB.

2012.1

2012.1.05

Bug fixDefense Standards

LCD-3425
Render background pixels transparant instead of black.

Bug fixDefense Standards

Resolved regressions in USRP decoder.

2012.1.02

Bug fixDefense Standards

LCD-3381
Prevents TLcdBCIRasterModelDecoder from incorrectly throwing an EOFException.

2012.1.01

Bug fixDefense Standards

LCD-2845
The USRP model decoder is no longer case sensitive.

Bug fixDefense Standards

LCD-530
GeoSym is now thread-safe.

Bug fixDefense Standards

LCD-536
GeoSym now logs a warning when a GeoSym icon could not be loaded.

2012.1

ImprovementDefense Standards

You can now visualize VPF data in Lightspeed according to the GeoSym styling standard, using the new TLspVPFGeoSymStyler class. The geometries of the VPF domain object can be rendered with TLspShapePainter.

Upgrade considerationDefense Standards

LCD-2535
The SENSRB decoder has been updated to support latest official specification of December 2010. Files that still use an old version of the specification will no longer decode.

2012.0

2012.0.19

Bug fixDefense Standards

LCD-2948
Some VPF areas might contain the same outer or inner ring multiple times, which could cause the area to be filled incorrectly. This has been fixed.

2012.0.18

ImprovementDefense Standards

LCD-1425
An exception is now thrown when the image file is not available at decoding time.

Bug fixDefense Standards

A NullPointerException which could occur when a FACC feature did not have a value for an attribute used by a GeoSym condition, has been fixed in the GeoSym style provider.

Bug fixDefense Standards

A potential threading issue in the VPF model implementation has been fixed. The issue (an exception being thrown) could occur when querying models from multiple feature classes in the same coverage via applyOnInteract, on the same tiles.

2012.0.09

Bug fixDefense Standards

LCD-2568
The GeoSym resource files input streams were not closed after reading, this has been fixed now.

Bug fixDefense Standards

LCD-2567
Input streams are now closed correctly when a corrupt VPF data file is being read.

2012.0.07

Bug fixDefense Standards

LCD-1665
The order of the shapes in a cross-tile feature in ELEMENT_PER_FEATURE mode could differ when decoded multiple types and retrieved with different applyOnInteract bounds. The implementation has been changed now to ensure a constant order for all shapes in a feature.

2012.0.06

ImprovementDefense Standards

GeoSym definitions can now be reloaded programmatically. A reload can be triggered by reconfiguring the GeoSym definition paths on TLcdVPFGeoSymProvider.

ImprovementDefense Standards

TLcdVPFGeoSymProvider now provides methods for retrieving symbol ids for a given FACC feature, next to the existing methods for retrieving icons for a feature. The new methods allow to use the GeoSym rules with custom styles, independent of the provided built-in styles.

Bug fixDefense Standards

Changes to values in TLcdGeoSymDefaults are now correctly taken into account (some values were only read once during initialization of the GeoSym provider and not updated afterwards).

2012.0.04

ImprovementDefense Standards

LCD-1437
VPF area features now implement the ILcdSurface interface, providing direct access to the outer and inner rings of the area.

2012.0.03

Bug fixDefense Standards

LMAP-6076, LCD-1410
A more appropriate default value has been chosen for the maximum residual tie point error. This will ensure that the bounds of a raster are more accurately decoded during the decoding process.

Bug fixDefense Standards

LMAP-6084, LCD-1413
TLcdNITFModelDecoder now also has limited support for symbol elements in the case of NITF 2.0 files. Note that only the CGM format is supported for the symbol elements, so bitmap- and object symbols are ignored.

11.0

11.0.37

Bug fixDefense Standards

LCD-1447
A cross-tile feature in ELEMENT_PER_FEATURE mode might have contained duplicate shapes in its shape list after tiles have been garbage-collected and reloaded. This has been fixed now.

Bug fixDefense Standards

LCD-1445
The primitives of a cross-tile feature were not always initialized at the same time in ELEMENT_PER_FEATURE mode. As a result, the number of shapes in these features might vary over time, depending on the applyOnInteract operations that were performed on the model. This has been fixed now: all primitives of a cross-tile feature are now initialized at the moment it is first accessed.

Bug fixDefense Standards

LCD-1444
Features with multiple primitives within the same tile but without a feature join table were not merged into a single model element in ELEMENT_PER_FEATURE mode. This has been fixed.

Bug fixDefense Standards

LCD-1446
A potential threading issue in the decoding of cross-tile features in ELEMENT_PER_FEATURE mode has been fixed.

Bug fixDefense Standards

LCD-1436
The source of a VPF model descriptor is now filled in when a feature class is decoded to a model using TLcdVPFModelDecoder.decode(TLcdVPFFeatureClass). The path of a VPF feature class is also available now via the TLcdVPFFeatureClass.getPathName() method.

11.0.36

Bug fixDefense Standards

LMAP-6050, LCD-617
Extra input validation has been added to the VPF model decoder, to avoid OutOfMemoryErrors due to corrupt input files; these errors are now converted into IOExceptions. In addition, the VPF model now remembers which files have already been decoded (or tried to decode) and which not; this avoids that the decoder reattempts to read corrupted files over and over during each model access. Only the first model access will now throw an IOException in case of corrupted files.

11.0.23

ImprovementDefense Standards

LMAP-5846
Performance of model access has been improved; especially datasets for which many tiles have one or more geometry tables missing will take advantage from this improvement.

Bug fixDefense Standards

LMAP-5865
TLcdUSRPModelDecoder documentation was updated to correctly reflect the .QAL and .SOU file requirements.

Bug fixDefense Standards

LMAP-5774
TLcdUSRPModelDecoder now sets the Product Type and Dataset ID on the decoded TLcdUSRPZoneDescriptor.

11.0.18

ImprovementDefense Standards

LMAP-5767
TLcdVPFModelDecoder now offers two model element modes: elements per geometry and elements per feature. The former will map each geometry onto a separate model element, the latter will merge geometries of the same feature together into a single model element, implementing ILcdShapeList. The former is the existing behavior and is therefore configured on the decoder by default. Model element modes can be changed using TLcdVPFModelDecoder.setModelElementMode().

Bug fixDefense Standards

The TLcdVPFGXYPainterProvider now supports rendering of VPF models decoded in ModelElementMode.ELEMENT_PER_FEATURE mode in combination with GeoSym.

11.0.17

ImprovementDefense Standards

The sample samples.decoder.raster.nitf.orthorectified illustrates orthorectification of NITF rasters that have the SENSRB extension.

11.0.16

ImprovementDefense Standards

LMAP-5695
TLcdNITFModelDecoder now has a new setting separateGraphics to decode vector data in graphic segments into separate model tree nodes of the main model.

11.0.10

ImprovementDefense Standards

The decoder now accepts all-hyphen values for all fields in SENSRB extensions, even for fields where they aren't strictly allowed by the standard.

11.0.01

ImprovementDefense Standards

LMAP-3076
TLcdVPFGXYPainterProvider now provides a flag for enabling and disabling the painter cache. Caching reduces the time to paint an object but requires more memory. By default, caching is turned on.

ImprovementDefense Standards

Line and area features with geodetic coordinates are now linearly interpolated between their points, instead of geodetically (now identical to interpolation mode used for cartesian coordinates).

ImprovementDefense Standards

LMAP-5278
The VPF model decoder can now decode VPF feature table files (*.PFT, *.LFT, *.AFT, *.TFT, *.CFT). The behavior of decoding a feature table file is identical to the decoding of the corresponding VPF feature class instance.

ImprovementDefense Standards

Some VPF database have small errors in their spatial indices, which might result in an applyOnInteract operation not finding one or more features within the specified bounds. The VPF model decoder has been improved to take these errors into account. Strict-interact applyOnInteract operations will now find the exact number of features, even for these erroneous databases. Non-strict-interact applyOnInteract operations might find slightly more results w.r.t. previous versions.

Bug fixDefense Standards

Attributes which have an enumerated list of possible values in the INT.VDT or CHAR.VDT table are no longer marked as an enumeration: these types may still have other, non-listed values. The displayable name of the codes is still available via the TLcdDataType.getDisplayName() method.

Upgrade considerationDefense Standards

The ILcdDataObject interface of VPF domain objects no longer translates enumerated values into their equivalent description, as defined in the integer or character description table. It now always returns the original values as contained in the table data. The equivalent description is still available using the TLcdDataType.getDisplayName(aValue) method. To revert to the previous behavior, all calls to object.getValue(property) should be replaced with property.getDataType().getDisplayName(object.getValue(property)).

10.1

10.1.23

ImprovementDefense Standards

The performance of the face construction algorithm, which was reduced after a previous bug fix (LMAP-5058), has been improved again. This issue only affects area feature classes.

10.1.14

Bug fixDefense Standards

A bug in the method getUserFeatureAttributeIndex(String) of TLcdVPFFeatureClass was fixed; the method no longer throws an IndexOutOfBoundsException when an invalid argument is passed.

10.1.05

Bug fixDefense Standards

LMAP-5103
TLcdUSRPModelDecoder now accepts the 01.GER extension of the optional georeference file (which always specifies the WGS84 geodetic datum).

10.1.04

ImprovementDefense Standards

The library name has been removed from the VPF data model name, as it is not relevant for the identification of the data model (different libraries might share the same data model). The VPF product type is now always included in the data model name using uppercase style, to ensure that databases using different case will still share the same data model.

10.1.03

ImprovementDefense Standards

LMAP-3821
com.luciad.format.vpf.TLcdVPFModelDecoder now offers a flag setUseNullValues, which allows to configure the behavior of ILcdFeatured in the case of null values. If the flag is set, null values will be represented by a null object, otherwise, they will be represented by the special value assigned to them by the VPF specification. It is turned off by default, for backwards compatibility.

Bug fixDefense Standards

LMAP-5059
Area features no longer contain empty polygons (polygons with zero points), which were an artifact from 'floating edge' inner rings.

Bug fixDefense Standards

LMAP-5058
The VPF model decoder now automatically detects inner rings which are defined as part of an outer ring. These rings are now properly decoded as separate polygons, and the auxiliary edges for jumping from outer to inner rings are no longer present in the model.

Bug fixDefense Standards

LMAP-3821
VPF special attribute values which should be interpreted as being null, are now represented in the ILcdDataObject view by a null value, instead of the special value (e.g. for Strings, 'N/A' will now become null, for short integers, -32768 will now become null, ...).

10.1.02

Bug fixDefense Standards

LMAP-4992
Date attributes (represented by java Data objects) are now linked to the com.luciad.datamodel.TLcdCoreDataTypes.DATE data type instead of the com.luciad.datamodel.TLcdCoreDataTypes.CALENDAR data type.

10.1

ImprovementDefense Standards

LMAP-3123
Improved sample code by adding support for multi-databases. Sample 2 allows you to set a directory as VPF root node that contains other VPF root nodes indirectly. This way, multiple databases can be loaded at once. Their results can be shown separately or merged together, both for the tree and the layer controls of the sample.

ImprovementDefense Standards

TLcdNITFModelDecoder now has a setting allowing it to create multi-level rasters instead of single-level ones.

Upgrade considerationDefense Standards

The VPF domain model now supports the unified generic model; all domain classes now implement the ILcdDataObject interface, the VPF model descriptor now implements ILcdDataModelDescriptor. To support the unified generic model, the ILcdVPFFeature interface has been modified to extend the ILcdDataObject interface. Classes implementing ILcdVPFFeature should be modified to implement the methods of ILcdDataObject. Wrappers around VPF domain classes can simply delegate these methods to the corresponding methods in the wrapped class. Since the VPF model descriptor now implements ILcdDataModelDescriptor, all elements in VPF models are required to implement ILcdDataObject. Custom domain objects wrapping VPF model elements will need to implement ILcdDataObject as well, if they are contained in a model with an VPF model descriptor.

10.0

10.0.19

ImprovementDefense Standards

LMAP-4579
The GeoSym provider now recognizes the VMAP2i product type; the symbology that is used for visualizing the product is that of VMAP Level 2.

10.0

ImprovementDefense Standards

TLcdNITFModelDecoder supports JPEG2000 compression, as specified by the MIL-STD-2500C standard.

9.1

9.1.01

Bug fixDefense Standards

LMAP-3687
Positioning of rasters with a projective transformation has been corrected, by fixing a mathematical error that was introduced in TLcdRectifiedProjectiveProjection in LuciadMap 9.1.

Upgrade considerationDefense Standards

LMAP-3110
The following methods were removed from TLcdVPFGeoSymProvider, since their signature contained obfuscated classes:
  • getPointLabel
  • getLineLabel
  • getAreaLabel
  • getStyleProvider
The first three shouldn't be used because GeoSym labeling is not supported. If the last method should be used somewhere, it should be replaced by TLcdVPFGeoSymProvider.getInstance(String).

9.1

ImprovementDefense Standards

TLcdNITFModelDecoder now supports the RPC00B extension.

ImprovementDefense Standards

TLcdNITFModelDecoder now supports the SENSRB extension.

9.0

9.0.04

Bug fixDefense Standards

LMAP-3272
TLcdNITFModelDecoder now no longer incorrectly shifts images that have image locations in addition to geographic locations, which may occur in NITF files that have multiple unattached images.

Bug fixDefense Standards

LMAP-3259
TLcdNITFModelDecoder now correctly decodes large uncompressed images.

8.2

8.2

Bug fixDefense Standards

LMAP-2866
A NullPointerException thrown by the TLcdVPFLibrary constructors is fixed now.

8.1

8.1.13

Bug fixDefense Standards

LMAP-2843
TLcdNITFModelDecoder now correctly decodes multiple Tagged Record Extensions in image segments.

8.1.12

Bug fixDefense Standards

LMAP-2735
ILcdVPFFeature.getVPFFeatureClassEntry() always returned 0 for area features. This has been fixed.

8.1.10

Bug fixDefense Standards

LMAP-2800
TLcdUSRPModelDecoder now accepts .IMG and .SOU extensions, instead of the more restrictive 01.IMG and 01.SOU.

8.1

ImprovementDefense Standards

LMAP-2658
TLcdNITFModelDecoder now supports georeferencing of rasters that are distorted by a perspective projection.

8.0

8.0.11

Upgrade considerationDefense Standards

The GeoSym engine no longer looks for GeoSym resources in the geosym/rules/ directory; from now on, only the GeoSym/ directory is searched for, which corresponds to the location used in the VPF resources file provided with the distribution (lcd_vpf_geosym_resources.jar).

8.0.08

Bug fixDefense Standards

LMAP-2625
TLcdNITFModelDecoder now also takes into account BLOCKA Tagged Record Extensions in user data.

Bug fixDefense Standards

LMAP-2624
TLcdNITFModelDecoder now accepts empty gray fill fields in BLOCKA Tagged Record Extensions.

Bug fixDefense Standards

LMAP-2623
TLcdNITFModelDecoder again decodes correct raster bounds for UTM references.

8.0.06

Bug fixDefense Standards

LMAP-2613
TLcdNITFModelDecoder now always creates grid references for NITF files containing CGM vector data, in order to make sure circles, ellipses, and arcs are interpreted correctly.

7.2

7.2.19

Bug fixDefense Standards

A bug in the retrieval of feature attributes and their classes is fixed; the attribute values did not always math the attribute classes in the TLcdVPFFeatureClass and TLcdVPFModelDescriptor. Two kinds of changes might occur w.r.t. previous releases:
  • some attribute classes are now of type Short/Integer instead of String.
  • some attribute values are now of type String instead of Short/Integer.

7.2.13

ImprovementDefense Standards

VPF databases with uppercase column names were no longer supported. This is fixed.

7.2.12

ImprovementDefense Standards

TLcdBCIRasterModelDecoder now decodes three extra features: paperDates, creationDate and freeText. When an ILcdModel has been decoded, these features can be retrieved via the descriptor of the model, TLcdBCIRasterModelDescriptor.

ImprovementDefense Standards

An ArrayIndexOutOfBoundsException was thrown when edges in coverages with topological level 0 were read. This is fixed now.

7.2.05

ImprovementDefense Standards

TLcdUSRPModelDecoder now accepts files with missing QSR and QUV fields.

ImprovementDefense Standards

TLcdUSRPModelDecoder now also looks for ASRP and USRP data sets in the ASRP and USRP subdirectories, when decoding TRANSH01.THF files.

7.2

ImprovementDefense Standards

The color model of the TLcdVPFLayerFactoryModel has been extended slightly; the 'library reference' and 'tile reference' coverage now always have a gray color, instead of a random color.

ImprovementDefense Standards

Relative database paths are now supported in VPF property files.

ImprovementDefense Standards

The user attribute set of a VPF feature now contains all attributes avaiable in the VPF feature class table, except low-level database-related attributes (id, edg_id, tile_id, ...). This used to contain only the set of attributes for which a mapping in the character or integer value description table was available.

ImprovementDefense Standards

The VPF models and model decoder have been improved to be used in multi-threaded environments.

ImprovementDefense Standards

Some extra methods were added to the TLcdVPFFeatureClass class,, to simplify the usage of the user attributes.

ImprovementDefense Standards

Coordinates defined as VPF short floating point type will now be mapped on Java floats, instead of doubles.

ImprovementDefense Standards

3-D geometries are supported now. If a Z-coordinate is available in the data, an XYZ- or LonLatHeight geometry will be created now (only the first two coordinates were supported before).

ImprovementDefense Standards

The mimimum object size is now taken into account when performing a model.applyOnInteract() call. Objects which are too small to be visible on screen will no longer be painted.

ImprovementDefense Standards

Performance of the VPF model decoder has been improved significantly. The decoding time of both memory models (on-the-fly and in-memory model) has been reduced, as well as the memory usage of both models. The documentation of TLcdVPFModelDecoder contains some extra performance tips. Additionally, a new model type has been introduced, the hybrid model, which is generally faster than the on-the-fly model, and requires less memory than the in-memory model. It uses a caching mechanism, adapting itself to the amount of available memory (the more memory available, the better the model will perform). This model is from now on the default model, used by the VPF model decoder.

Bug fixDefense Standards

A bug in the decoding of geometry data was fixed.

Bug fixDefense Standards

The VPF samples and the Lucy addon now have the same performance.

Bug fixDefense Standards

The VPF model decoder now throws a clear exception when a VPF properties file contains an invalid entry (e.g., a non-existing feature class).

Upgrade considerationDefense Standards

TLcdVectorIconProvider was removed from the API, as it did not contain any public API functionality.

Upgrade considerationDefense Standards

VPF field types of feature attributes are now properly mapped on Java classes (all types used to be mapped on java.lang.String). The documentation of TLcdVPFFeatureClass contains a detailed overview of this mapping.

Upgrade considerationDefense Standards

The return values of the coverage.getPath() and coverage.getPathName() methods now point to the correct coverage directory, instead of the parent library directory.

Upgrade considerationDefense Standards

Methods, returning package-visible class instances, were removed from TLcdVPFGeoSymProvider.

7.1

7.1.13

Bug fixDefense Standards

The TLcdVPFModelDecoder now takes the library bounds as model decoding bounds if no bounds parameter was provided to the decode() method. Previously, the decoder used to take the world bounds, causing the fit action not to work properly on VPF models.

Bug fixDefense Standards

A NullPointerException occuring when switching from empty model to full model using the TLcdVPFDatabaseTree, was fixed.

7.1.01

ImprovementDefense Standards

This package is a new LuciadMap option since v7.1.

7.1

Bug fixDefense Standards

TLcdUSRPModelDecoder now correctly decodes TRANSH01.THF files pointing to ADRG datasets.

7.0

7.0.14

Bug fixDefense Standards

TLcdNITFModelDecoder now throws a more helpful IOException if it doesn't have a model reference decoder and it can't decode a model reference.

7.0.05

ImprovementDefense Standards

Exceptions which where printed directly on the system error log are now logged via TLcdLog.

ImprovementDefense Standards

GRT tables with column names 'parameter X' instead of 'parameterX' (where X = 1..4) are supported now.

7.0.02

ImprovementDefense Standards

TLcdNITFModelDecoder no longer unnecessarily invokes its model reference decoder when it can decode a model reference from the NITF file itself.

7.0

ImprovementDefense Standards

TLcdNITFModelDecoder now provides support for input stream factories.

6.2

6.2.18

Bug fixDefense Standards

GRT tables with an empty projection code field (which is the case for geodetic references) are supported now.

6.2.17

Bug fixDefense Standards

The FACC attribute list of a VPF feature now only contains FACC attributes (other low-level feature attributes used by VPF, like tile id and primitive id, are excluded from the list now).

6.2.15

Bug fixDefense Standards

TLcdNITFModelDecoder now makes color 255 of decoded grayscale JPEG images transparent, consistently with uncompressed grayscale images, in order to avoid a black border when they are painted with warping.

Bug fixDefense Standards

TLcdNITFModelDecoder now correctly decodes coordinates specified in the 'D' format.

6.2.14

Bug fixDefense Standards

Features having a 1:N feature-primitive relationship are now decoded correctly (feature attributes were missing before). Decoded VPF models contain an ILcdFeatured+ILcdShape object for each of the primitives, defining a feature.

6.2.07

ImprovementDefense Standards

TLcdNITFModelDecoder now decodes the optional Tagged Record Extension BLOCKA, which contains the image corner locations at a higher precision than the one in the standard NITF header.

ImprovementDefense Standards

TLcdNITFModelDecoder can attach approximate orthographic grid references to aerial pictures and satellite imagery that are stored with a simple geodetic reference. The maximum residual error for the corner points can be specified.

Bug fixDefense Standards

The getFeatureAttributeDescription() getFeatureAttributeClass() methods of TLcdVPFFeatureClass now return correct values (the returned values used to be off-by-one).

Bug fixDefense Standards

TLcdNITFModelDecoder now correctly decodes tiles that are larger than their images.

6.2.02

Upgrade considerationDefense Standards

Inner polygons (holes) in faces are now supported. The domain model objects representing VPF areas now implement the ILcdComplexPolygon interface, instead of the ILcdPolygon interface.

6.2

ImprovementDefense Standards

TLcdNITFModelDecoder now provides methods that can be overridden in order to modify the decoding of model references and raster bounds based on the NITF fields.

ImprovementDefense Standards

Added support for long floating point values in all bounding rectangle tables an LAT tables.

ImprovementDefense Standards

The VPF model decoder now supports databases that do not have a variable-length index file. If missing, the decoder will build an index in memory on-the-fly.

Bug fixDefense Standards

The TILEREF coverage is now properly decoded.

Bug fixDefense Standards

A bug, causing a NullPointerException during the decoding of untiled feature classes, is fixed.

Bug fixDefense Standards

TLcdNITFModelDecoder now correctly decodes relative positioning of attached images.

6.1

6.1.18

ImprovementDefense Standards

The protected fields of TLcdVPFFeatureClass are removed from the API, as they are unusable (the class cannot be extended).

Bug fixDefense Standards

Feature classes containing primitives of type Connected Node are now supported properly (these feature classes were not always shown in the VPF tree).

Bug fixDefense Standards

An NullPointerException that was thrown in absence of certain VPF tables, is no longer thrown.

6.1.14

Bug fixDefense Standards

The Java class returned by TLcdVPFModelDescriptor.getFeatureClass() now corresponds to the values that are returned in the ILcdFeatured VPF objects.

6.1.06

Bug fixDefense Standards

Implementations of ILcdVPFFeature now return a correct attribute count. The getAttributeName(int aIndex) method now returns the correct name (it used to return the name of attribute[aIndex - 1]).

Bug fixDefense Standards

TLcdUSRPModelDecoder now correctly decodes TRANSH01.THF files pointing to multiple datasets.

Bug fixDefense Standards

TLcdNITFUncompressedImageDecoder now avoids accidentally skipping bytes from URL input streams.

Bug fixDefense Standards

TLcdNITFModelDecoder now avoids accidentally skipping bytes from URL input streams.

Bug fixDefense Standards

TLcdNITFModelDecoder now correctly uses the input stream factory for decoding the contained images.

Bug fixDefense Standards

TLcdNITFModelDecoder now supports decoding JPEG images from URLs.

6.1

ImprovementDefense Standards

TLcdVPFLibrary now returns its coverages in the order they are stored in the VPF database.

ImprovementDefense Standards

The VPF model descriptor now contains the sourcename, if the VPF data were loaded from a properties file.

ImprovementDefense Standards

With the new sample code, it's possible to customize the behaviour of the tree and layer manager, to pop up messages, to do a fit or to perform other actions, if the current Area of Interest doesn't overlap with the VPF library bounds.

Bug fixDefense Standards

Grid referenced datasets are now supported.

Upgrade considerationDefense Standards

The methods
  • ILcdVPFLabel getPointLabel(ILcdVPFFeature aVPFFeature)
  • ILcdVPFLabel getLineLabel(ILcdVPFFeature aVPFFeature)
  • ILcdVPFLabel getAreaLabel(ILcdVPFFeature aVPFFeature)
have been removed from the TLcdVPFGeoSymProvider class.

Upgrade considerationDefense Standards

The ILcdVPFFACCFeature has been added to the VPF package. This interface provides access to DIGEST FACC data (which is supported by VPF). ILcdVPFFeature now extends from this new interface, and GeoSym has been generalized to work with ILcdVPFFACCFeature instead of ILcdVPFFeature I.e., all objects implementing the FACC interface can be visualized now using GeoSym.

Upgrade considerationDefense Standards

The TLcdVPFPointFeature class is no longer available in the API. All properties of VPF domain objects can be accessed via the ILcdVPFFeature, ILcdFeatured and ILcdShape interfaces.

6.0

6.0.14

ImprovementDefense Standards

TLcdUSRPModelDecoder now decodes USRP legends as properties of TLcdUSRPDatasetModelDescriptor.

ImprovementDefense Standards

TLcdUSRPModelDecoder now decodes USRP files containing deviant VDR:NOV fields of length 3.

Bug fixDefense Standards

Latin-1 text fields are now supported (the VPF model decoder sometimes crashed during the decoding of datasets containing Latin-1 text fields).

Bug fixDefense Standards

TLcdUSRPModelDecoder now accepts "01.THF" extensions, instead of only full "TRANSH01.THF" file names.

6.0.13

Bug fixDefense Standards

The toString() method of VPF objects no longer throw an ArrayIndexOutOfBoundsException when no ILcdFeatured properties are available.

6.0

ImprovementDefense Standards

TLcdVPFGeoSymProvider now has a static getInstance() method, replacing the non-static getStyleProvider() method.

ImprovementDefense Standards

The existing VPF samples are replaced by two new ones, illustrating the use of the new code and API changes in 6.0:
  • The first sample illustrates the basic usage of VPF, i.e., how to set up a VPF model decoder and layer factory, and show some VPF data on a map.
  • The second sample illustrates the use of the new VPF tree and layer manager, included with the samples, and some other VPF functionality (use of the ModelType flag of the VPF decoder, use of GeoSym, auto-bounds mode)

ImprovementDefense Standards

A new class, TLcdVPFPainterProvider, was added to the VPF API, enabling the use of VPF in a way similar to other LuciadMap formats, i.e., by setting up a small layer factory that creates a layer and sets a dedicated painter provider on it. A sample layer factory is included with the samples, which should be preferred in new code above the deprecated TLcdVPFLayerFactory class. The new factory implements the ILcdGXYLayerFactory interface, which was missing in the latter one.

ImprovementDefense Standards

The elements() method of the VPF on-the-fly model (corresponding to the "empty model" in previous releases), does not return empty enumerations, as the empty model did. Instead, at the moment the model is accessed via its elements() method or via its ILcdIntegerIndexedModel interface, the model shall switch to in-memory mode. This change does not affect existing code, using the deprecated TLcdVPFDatabaseTree or TLcdVPFLayerFactory classes.

ImprovementDefense Standards

New sample code was added, containing functionality for
  • showing a VPF database structure in a tree, and letting users make a selection of feature classes of the database
  • synchronizing a selection of feature classes with a view, using a layer manager that adds/removes VPF layers to the view whenever the selection has changed
This code replaces the VPF tree functionality included in the VPF API. The following classes are from now on deprecated, in favour of the new sample code:
  • TLcdVPFDatabaseTree
  • TLcdVPFDatabasePanel
  • TLcdVPFLayer
  • TLcdVPFLayerFactory
These classes remain their functionality, but should no longer be used in new code.

ImprovementDefense Standards

The MemoryUsage property on the TLcdVPFModelDecoder class has become deprecated, as it wasn't used at all by the decoder (which memory usage model to use, used to be decided at the level of the TLcdVPFDatabaseTree and TLcdVPFLayerFactory). The VPF model decoder now has a property ModelType, which can be used to control the memory usage and performance of a VPF model. It replaces the corresponding functionality in the TLcdVPFDatabaseTree and TLcdVPFLayerFactory classes, as these classes have become depreacted.

ImprovementDefense Standards

A number of methods were added to TLcdVPFDatabaseGroup, TLcdVPFDatabase, TLcdVPFLibrary and TLcdVPFFeatureClass, to facilitate browsing through the VPF structure:
  • TLcdVPFDatabaseGroup.getDescription()
  • TLcdVPFDatabase.getLibraries()
  • TLcdVPFDatabase.getLibraries(ILcdBounds)
  • TLcdVPFLibrary.getPathName()
  • TLcdVPFLibrary.getCoverages()
  • TLcdVPFCoverage.getPathName()
  • TLcdVPFFeatureClass.getCoverage()
The following methods are deprecated in favour of the new ones, but remain their functionality:
  • TLcdVPFLibrary.retrieveLibraries()
  • TLcdVPFLibrary.retrieveLibraries(ILcdBounds)
  • TLcdVPFFeatureClass.getVPFCoverage()

ImprovementDefense Standards

All decodeXXX methods of TLcdVPFDatabase and TLcdVPFLibrary are now called automatically the first time they're needed - they no longer have to be called manually by users. These methods are made deprecated, but still remain their functionality, i.e., all existing code should behave as before.

Bug fixDefense Standards

Some large models which caused the VPF model decoder to throw an IllegalArgumentException, when running in full-model mode, can now be decoded correctly.

Bug fixDefense Standards

VPF no longer throws an exception or blocks when no DQT file is available and the getDataQualityDescriptor() method is executed on a database, library or coverage.

Bug fixDefense Standards

The paths to the GeoSym resources in the GeoSym resources library are now added as defaults to the VPF code. It is no longer necessary to explicitly initialize GeoSym paths. Existing code, relying on the old default paths, will not be affected by this change.

Bug fixDefense Standards

When using the new sample tree, an exception is no longer thrown when switching from an in-memory model to an on-the-fly model (a NullPointerException was thrown in some cases).

Bug fixDefense Standards

Fitting works now with the new samples in JDK1.2.

Bug fixDefense Standards

The new samples no longer flicker when using JDK1.2.

Bug fixDefense Standards

The new samples can deal with spaces in filenames.

Bug fixDefense Standards

VPF now supports uppercase names for all files.

5.3

5.3.18

Bug fixDefense Standards

The TLcdVPFLayerFactoryModel.setLabelIndices() and getLabelIndices() methods work correctly now, and can be used to configure the label indices to be used for the painting of VPF features.

5.3.16

Bug fixDefense Standards

projection parameters are now read correctly from the library's GRT file.

5.3.09

Bug fixDefense Standards

TLcdNITFModelDecoder now correctly decodes the bounds of geodetic rasters that wrap around the 180-degrees meridian.

Bug fixDefense Standards

TLcdUSRPModelDecoder now correctly decodes the position of ASRP rasters with padding.

Bug fixDefense Standards

The data quality descriptor can now handle dqt files containing empty date attributes.

Bug fixDefense Standards

TLcdUSRPModelDecoder now correctly handles transparent colors.

5.2

5.2.03

Bug fixDefense Standards

TLcdNITFModelDecoder now handles NITF 2.0 files with geocentric references (ICORDS = "C").

5.2.02

ImprovementDefense Standards

TLcdUSRPModelDecoder now uses filename extensions with matching case when looking for corresponding QAL/GEN files.

5.2

ImprovementDefense Standards

Data quality information is now available for VPF databases, libraries and coverage, via the new class TLcdVPFDataQualityDescriptor.

ImprovementDefense Standards

com.luciad.format.raster.TLcdUSRPModelDecoder now also supports TRANSH01.THF table of contents files.

ImprovementDefense Standards

com.luciad.format.raster.TLcdUSRPModelDecoder now also retrieves USRP/ASRP/ADRG metadata.

5.1

5.1.03

ImprovementDefense Standards

A feature class selection can be set on the VPF tree via the TLcdVPFDatabasePanel.setSelection(TLcdVPFFeatureClass[]) method. The current selection can also be retrieved via the TLcdVPFDatabasePanel.getSelection() method.

Bug fixDefense Standards

models without a tileref are now decoded correctly (were returning a null model).

5.1

ImprovementDefense Standards

A new class, TLcdVPFDatabaseGroup, was added to the API, for working with multiple VPF databases.

ImprovementDefense Standards

TLcdVPFPropertiesUtil now contains a method createFeatureProperties that can generate VPF decoder properties for a given VPF feature class and bounds.

ImprovementDefense Standards

The VPF tree structure can be preloaded (setPreloadDatabaseTree), which avoids accessing the disk/CD every time a tree node is expanded.

ImprovementDefense Standards

com.luciad.format.raster.TLcdUSRPModelDecoder now supports UTM references on the southern hemisphere and UPS references on the poles.

ImprovementDefense Standards

com.luciad.format.raster.TLcdUSRPModelDecoder has an improved detection of ASRP versions.

5.0

5.0.05

Bug fixDefense Standards

sample 2 works now on JDK 1.2.2 (getPath() in java.net.url was not supported in JDK 1.2.2).

Bug fixDefense Standards

TLcdVPFLayer.getBounds() throws a TLcdNoBoundsException now if the model is empty (returned null before).

Bug fixDefense Standards

TLcdVPFModelDescriptor.getFeatureCount() returns the correct number of features now.

Bug fixDefense Standards

The layout of the first sample is modified so that all labels are clearly readable now.

Bug fixDefense Standards

The border of checkboxes in the VPF database tree is completely visible now (was missing on the right side).

5.0.01

Bug fixDefense Standards

com.luciad.format.raster.TLcdUSRPModelDecoder has an improved handling of transparent colors.

5.0

Bug fixDefense Standards

TLcdNITFModelDecoder now checks for the NSIF 1.0 format.

4.1

4.1.09

ImprovementDefense Standards

TLcdNITFModelDecoder can now read NITF 2.0 files without reference.

Bug fixDefense Standards

A VPF layer accepts null models.

Bug fixDefense Standards

A performance problem was fixed which occurred when using the GeoSym symbology.

4.1.03

ImprovementDefense Standards

com.luciad.format.raster.TLcdUSRPModelDecoder now handles more than 256 colors.

4.0

4.0.05

Bug fixDefense Standards

com.luciad.format.raster.TLcdUSRPModelDecoder can handle image files with alternative extensions.

3.2

3.2.16

ImprovementDefense Standards

The following objects now implement com.luciad.shape.ILcdShape:
  • com.luciad.format.vpf.TLcdVPFAreaFeature
  • com.luciad.format.vpf.TLcdVPFLightLinFeature
  • com.luciad.format.vpf.TLcdVPFLineFeature,
so that all objects in VPF models implement com.luciad.model.ILcdShape.

3.2.09

ImprovementDefense Standards

The use of GeoSym in VPF layers can be turned off.

3.2

ImprovementDefense Standards

com.luciad.format.vpf.TLcdVPFLayerFactory has a new property UseScaleRange which allows to use the scale ranges encoded in the vpf data.

3.1

3.1.20

ImprovementDefense Standards

com.luciad.format.TLcdVPFDatabasePanel and com.luciad.format.TLcdVPFDatabaseTree can have a default path for the database chooser.

3.1.18

ImprovementDefense Standards

com.luciad.format.vpf.gxy.TLcdVPFGeoSym enables the user to choose whether to use the GeoSym symbology. By default the GeoSym symbology is turned on.

3.1.07

Bug fixDefense Standards

Setting the scale range on a com.luciad.format.vpf.TLcdVPFLayer to null caused a NullPointerException.

2.1

2.1

ImprovementDefense Standards

A com.luciad.util.TLcdStatusEvent is generated on start and end when the view is updated in com.luciad.format.vpf.TLcdVPFDataBaseTree. Listeners can be added directly or via com.luciad.format.vpf.TLcdVPFDataBasePanel. This allows to show a message while loading vpf data.

ImprovementDefense Standards

com.luciad.format.vpf.TLcdVPFLayer now have featured label painters according to the following table:
  • com.luciad.format.TLcdVPFFeatureClass.LINE: com.luciad.view.gxy.TLcdGXYFeaturedPolylineLabelPainter
  • com.luciad.format.TLcdVPFFeatureClass.AREA: com.luciad.view.gxy.TLcdGXYFeaturedLabelPainter
  • com.luciad.format.TLcdVPFFeatureClass.POINT: com.luciad.view.gxy.TLcdGXYFeaturedLabelPainter

ImprovementDefense Standards

A com.luciad.util.ILcdStatusListener can listen to the com.luciad.format.vpf.TLcdVPFDataBasePanel and to the com.luciad.format.vpf.TLcdVPFDataBaseTree. Events are fired on start and end of updating the view for vpf data.

ImprovementDefense Standards

A com.luciad.format.vpf.ILcdVPFLayerFactoryModel can now be set to the com.luciad.format.vpf.TLcdVPFDataBasePanel and to the com.luciad.format.vpf.TLcdVPFDataBaseTree. This allows customizing the colors used by the themes in the vpf data.