2020.1

New featureLuciadCPillar

Interactive creation and editing of military symbols is now supported for all symbologies. For more details, see the how-to article on creating and editing military symbols on the map.

New featureLuciadCPillar

LuciadCPillar now provides creation and editing capabilities for the geometry of features on the map. See Editor, Creator for more details. There is default creation and editing support for point, polyline, and polygon.

New featureLuciadCPillar

LCP-71
Users can now control which part of a draw call is considered when using a Map::queryFeatures. See GeometryDrawCommand::queryable, IconDrawCommand::queryable, TextDrawCommand::queryable for more details.

New featureLuciadCPillar

LuciadCPillar now has a controller API to facilitate interaction with the map. Please refer to the IController class documentation for more information. A user can now create its own implementation of a controller and can interact with the map in a UI toolkit-independent way. These interactions are for example:
  • Map navigation
  • Selection

New featureLuciadCPillar

Support for reading GeoTIFF files with RGB(A) data has been added. The format is supported via the GdalModelDecoder which uses the GDAL library.

New featureLuciadCPillar

The GeoPackageModelDecoder now supports the GeoPackage 1.0.1, 1.1.0, 1.2.1, and the 1.3.0 specifications.

New featureLuciadCPillar

Visualization of tactical graphics is now supported for all symbologies. Refer to the documentation for more details.

ImprovementLuciadCPillar

Military icons are now shown as billboards in 3D by default, in line with the recommendations of the military standards. You can adjust this in the MilitarySymbologyCanvas::DrawCommand.

ImprovementLuciadCPillar

The Feature::asBuilder() method was added. This method allows to copy and modify an existing Feature.

ImprovementLuciadCPillar

LCD-11339
CoordinateReferenceProvider now also has support for http://www.opengis.net/def/crs/OGC/1.3/CRS84 and http://www.opengis.net/def/crs/OGC/0/CRS84h.

ImprovementLuciadCPillar

Fixed minor flickering issues while raster data was being loaded.

ImprovementLuciadCPillar

You can now directly query ArcBand for its constituting arcs and lines.

ImprovementLuciadCPillar

GeometryFactory::createArcBand now optionally takes the direction of the arc band.

ImprovementLuciadCPillar

LCP-109
The feature removal performance of FeatureLayer has been improved in the case of many small features, like roads.

ImprovementLuciadCPillar

LCP-127
Calling luciad::Exception::getStackTrace was very slow on Windows. Generating a single stack trace could take more than 30 seconds. This is now reduced to less than a second.

Bug fixLuciadCPillar

Curves with a non-zero elevation were not painted correctly, or not painted at all, on a 2D map.

Bug fixLuciadCPillar

LCP-46
Fixed an issue with the camera when the map is resized while an animation is running. The result was that the camera width and height were not correctly set.

Bug fixLuciadCPillar

LCP-45
Fitting on a model having a data extent spanning almost the entire world didn't show the entire globe for a map with a 3D reference.

Bug fixLuciadCPillar

LCP-154
A crash could occur when first removing a feature from an IFeatureModel, and then removing its layer from the map.

Bug fixLuciadCPillar

LCP-133
The following APP6-D symbols did not display a (correct) dimension icon:
Set Code Symbol Code Name
10 111001 LAND UNIT - Command and Control - Signal – Radio
10 111002 LAND UNIT - Command and Control - Signal - Radio Relay
10 111003 LAND UNIT - Command and Control - Signal – Teletype
10 111004 LAND UNIT - Command and Control - Signal - Tactical Satellite
10 111005 LAND UNIT - Command and Control - Signal - Video Imagery (Combat Camera)

Bug fixLuciadCPillar

LCP-108
Fixed a performance issue in C#. The case where multiple points are painted using the same IIcon instance was not optimally handled.

Upgrade considerationLuciadCPillar

VerticalAlignment::Above and Below have been renamed to Top and Bottom respectively.

Upgrade considerationLuciadCPillar

The Angle and Azimuth methods degrees and radians have been renamed to getDegrees and getRadians.

Upgrade considerationLuciadCPillar

The ExpressionValue methods boolValue, doubleValue, ... have been renamed to getBoolValue, getDoubleValue, etc.

Upgrade considerationLuciadCPillar

The MapScale methods value and denominator have been renamed to getValue and getDenominator.

Upgrade considerationLuciadCPillar

LCP-156
The construction order of LayerFeatureId has been changed. It is now consistent with the type name.

Upgrade considerationLuciadCPillar

The consistency of the C# API with the C++ API has improved. As a consequence several methods and properties have changed which may result in compilation errors which are easy to fix.

Upgrade considerationLuciadCPillar

MilitarySymbol::copyToFeature now takes a Feature instead of a FeatureId. If you used to call this method, simply replace the FeatureId argument with Feature::newBuilder().id(id).dataType(MilitaryDataModel::getSymbolType()).build()

Upgrade considerationLuciadCPillar

Upgrade considerationLuciadCPillar

Methods which returned std::optional<std::shared_ptr<> now return std::shared_ptr<>. In your implementation you should now return nullptr iso std::nullopt.

Upgrade considerationLuciadCPillar

The factory method luciad::GeometryFactory::createArcBand had default parameter values which would lead to a degenerate case. The default values have been made mandatory.

Upgrade considerationLuciadCPillar

IMapInvalidationCallback was renamed to IInvalidationCallback.

Upgrade considerationLuciadCPillar

Map::queryFeatures now uses a Map::FeatureQuery to select the features. This query object now also provides additional filtering options, among others the ability to filter on specific features.
The resulting features are sorted using the following criteria:
3D:
  • Top Most feature (unless draped)
  • Layer order
  • Feature Z order
  • Unspecified Order
2D:
  • Layer order
  • Feature Z order
  • Unspecified Order

The callback used in the Map::queryFeatures is renamed to IMapQueryFeaturesCallback and it now returns a list of MapQueryFeaturesResult instances.

Upgrade considerationLuciadCPillar

FeatureState::getValues now returns a vector of value objects instead of a vector of pointers.

Upgrade considerationLuciadCPillar

LuciadCPillar depends on the library eigen to support the GeoTIFF format.

Upgrade considerationLuciadCPillar

IFeatureModel now has API that allows to change the model using the getUpdater method. See IFeatureModelUpdater. This change will break existing IFeatureModel implementations. These can be fixed by implementing the new method, and returning std::nullopt.

Upgrade considerationLuciadCPillar

The GeoPackageTableMetadatatype field has become a string and the enumeration GeoPackageTableMetadata::TableType has been removed. The method GeoPackageModelDecoder::discoverTables has an additional parameter which allows to filter on supported table data types only or to return all tables available within the GeoPackage file. Use the value false to get the filtering behavior as before.
These changes allow to discover all content provided by a GeoPackage file, even when not all of it is supported.

Upgrade considerationLuciadCPillar

LuciadCPillar depends on the libraries GDAL and proj to support the GeoTIFF format.

Upgrade considerationLuciadCPillar

The SQLite library has been updated to version 3.31.1.

Upgrade considerationLuciadCPillar

The library libgpkg has been updated to version 1.0.1 to support newer versions of the GeoPackage specification.