2024.0.06

ImprovementLuciadCPillar

LCP-665
It is now possible to call Feature::getValueFeature::getValueFeature::getValue with a more specific geometry type as type parameter.

Bug fixLuciadCPillar

LCP-890
Fixed a threading issue when painting more than one Map, each on a different thread. This could potentially lead to visible artifacts when painting feature data (icons/lines/areas).

Bug fixLuciadCPillar

LCP-888
Fixed a threading issue in GeoPackage IFeatureModelIFeatureModelIFeatureModels that resulted in a crash. This issue could occur when querying (features or bounds) and persisting changes at the same time on different threads.

2024.0

2024.0.05

ImprovementLuciadCPillar

LCP-881
Improved the documentation of the Date Time Group format used by ModifierType::DateTime.

ImprovementLuciadCPillar

LCP-870
MilitarySymbolMilitarySymbolMilitarySymbol has a new method getModifierType that returns the ModifierType of the given modifier.

Bug fixLuciadCPillar

LCP-879
Fixed an issue that was triggered when creating a layer list, using it in a map, and later using this layer list in a new map.

Bug fixLuciadCPillar

LCP-877
MilitarySymbologyCanvasMilitarySymbologyCanvasMilitarySymbologyCanvas: corrected misaligned military icons on 3D maps. This issue specifically affects icons that are not centered.

Bug fixLuciadCPillar

LCP-866
Fixed an issue where parts of the terrain near the bottom of the screen are not shown when using certain kinds of elevation layers.

Bug fixLuciadCPillar

LCP-874
Fix for an issue that occurs when editing the geometry of a military symbol, where changes to SIDC modifiers were discarded.

Bug fixLuciadCPillar

LCP-880
Fixed an issue where MilitarySymbol::copyToFeatureMilitarySymbol::copyToFeatureMilitarySymbol::copyToFeature would sometimes not reset the Modifier values.

Bug fixLuciadCPillar

LCP-878
Fixed an issue where FeatureState::getValueFeatureState::getValueFeatureState::getValue would throw an exception in C# and Android.

2024.0.04

Bug fixLuciadCPillar

LCP-861
Fixed an issue where certain MGRS grid labels could be on the wrong side of a square's corner in 3D.

Bug fixLuciadCPillar

LCP-826
Fixed an issue where curves with a very large curvature might discretize incorrectly.

Bug fixLuciadCPillar

LCP-834
Fixed an issue where creating icons could result in a memory leak.

Bug fixLuciadCPillar

LCP-835
Fixed an issue where newly added features weren't always immediately painted after updating an IFeatureModelIFeatureModelIFeatureModel on a FeatureLayerFeatureLayerFeatureLayer with FeatureLayerLoadingStrategyFeatureLayerLoadingStrategyFeatureLayerLoadingStrategyLoadSpatially.

Bug fixLuciadCPillar

LCP-864
View displacement was incorrect for icons with an anchor that it not the icon center.

Bug fixLuciadCPillar

LCP-861

Bug fixLuciadCPillar

LCP-832
PolylineCreatorPolylineCreatorPolylineCreator and PolylineRingCreatorPolylineRingCreatorPolylineRingCreator consumed mouse move events, even before the first point was created.

Bug fixLuciadCPillar

LCP-859
PointEditHandle::addOnTouchLongPressActionPointEditHandle::addOnTouchLongPressActionPointEditHandle::addOnTouchLongPressAction only worked when adding a mouse (drag or click) action as well. It now also works when only a touch long press action is added.

2024.0.03

ImprovementLuciadCPillar

LCP-831
Improved performance when visualizing many labels with the same font styling.

Bug fixLuciadCPillar

LCP-857
Fixed an issue where MgrsFormat::parseMgrsFormat::parseMgrsFormat::parse would crash for certain invalid MGRS strings.

Upgrade considerationLuciadCPillar

LCP-827
LuciadCPillar now depends on library abseil. This new dependency requires no code changes.

2024.0.02

ImprovementLuciadCPillar

LCP-821
It is now possible to override the default mipmap filtering type of a OGC 3D Tiles by invoking the mipmapFiltering method of a MeshStyle::BuilderMeshStyle::BuilderMeshStyle::Builder.

ImprovementLuciadCPillar

LCP-801
It is now possible to configure memory hints for a MapMapMap. These are used to reduce the amount of cached data of a layer or reduce the quality of some layers when the overall memory consumption of the MapMapMap. reaches the limits of the memory hints. If warnings are being logged about quality reduction in your application, you can now increase the values for the memory hints via Map::Builder::maxMemoryUsageHintMap::Builder::maxMemoryUsageHintMap::Builder::maxMemoryUsageHint.

Bug fixLuciadCPillar

LCP-823
Fixed a rare issue that could result in a deadlock when using a large amount of icons.

Bug fixLuciadCPillar

LCP-815
Fixed an issue where an editable GeoPackage's bounds could be wrong after persisting changes.

Bug fixLuciadCPillar

LCP-829
CoordinateReferenceProviderCoordinateReferenceProviderCoordinateReferenceProvider incorrectly parsed a few EPSG codes. Coordinate references using the following datums are affected:
  • IG05/12 Intermediate Datum (EPSG:1144)
  • World Geodetic System 1984 (G730) (EPSG:1152)
  • World Geodetic System 1984 (Transit) (EPSG:1166)
  • CR-SIRGAS (EPSG:1225)
  • Sistem Referensi Geospasial Indonesia 2013 (EPSG:1293)
  • International Terrestrial Reference Frame 1992 (EPSG:6651)

Bug fixLuciadCPillar

LCP-825
FeatureLayerFeatureLayerFeatureLayer: Fixed an issue where vertical polygons would not always be filled correctly.

Bug fixLuciadCPillar

LCP-824
Fixed an issue where Polyline::ComputePoint could return CoordinateCoordinateCoordinates with NaN values if the polyline had a 2D length of 0 while consisting of multiple points.

Upgrade considerationLuciadCPillar

LCP-820
Fixed an issue where textures in OGC 3D Tiles and 3D Icons automatically applied mipmap filtering even when they should not have.

2024.0.01

ImprovementLuciadCPillar

LCP-794
Improved performance when visualizing many labels with the same font styling.

ImprovementLuciadCPillar

LCP-785
LuciadCPillar will now log more information when certain types of errors occur. For example segmentation faults or divide-by-zeros.

ImprovementLuciadCPillar

LCP-778, LCP-783
The dataformats sample's HERE maps sample code now uses HERE maps Raster Tile API v3, replacing the deprecated HERE Map Tile API v2.

Bug fixLuciadCPillar

LCP-809
Fixed an issue where all MBTiles would disappear when zooming in on the world boundary for certain map references.

Bug fixLuciadCPillar

LCP-811
Fixed a decoding issue of OGD 3D Tiles 1.1 that could occasionally result in degenerated geometries.

Bug fixLuciadCPillar

LCP-804
Fixed an issue where the background style of an MBTiles layer would be missing for certain map references.

Bug fixLuciadCPillar

LCP-796
Added missing backslashes to the paths in the Nuget package's .target file.

Bug fixLuciadCPillar

LCP-795
Fix an issue where pin lines are not drawn.

Bug fixLuciadCPillar

LCP-784
Fix a rare crash that can happen when painting and updating lots of different icons.

Bug fixLuciadCPillar

LCP-789
Fixed a rare race condition in FeatureLayerFeatureLayerFeatureLayer that could occur for feature data that is continuously updated. This could lead to a crash.

Bug fixLuciadCPillar

Fixed a possible exception when very quickly triggering the label property of a FeatureLayerFeatureLayerFeatureLayer.

Bug fixLuciadCPillar

LCP-788
Fixed a possible exception that mentions a [Remove + Update], [Remove + Remove], [Add + Add] or [Add + Update] FeatureEvent.

Bug fixLuciadCPillar

LCP-805, LCP-806
Fixed an issue where labels with an OnPathLabelStyle::relativeLocation would sometimes have a jittery orientation.

2024.0

New featureLuciadCPillar

You can now visualize OGC 3D Tiles 1.1. Supported functionality:
  • Implicit tiling (both JSON and binary subtrees, no metadata yet).
  • GLB/glTF (using internal, Base64 inlined or external buffers) as payload.
  • Supported glTF 2.0 extensions:
    • KHR_texture_transform
    • KHR_mesh_quantization
    • EXT_meshopt_compression
    • EXT_mesh_features

New featureLuciadCPillar

LuciadCPillar now provides support for decoding and visualizing MBTiles files and web services containing image and vector tiles. An MBTiles file can be decoded by passing the file path to the decoder. To decode an MBTiles web service, you need to provide the TileJSON endpoint as a source. For more details, see:

New featureLuciadCPillar

You can now export an existing feature model to an existing GeoPackage file or a new GeoPackage file. You can also add a new, empty feature data table to a new or existing GeoPackage file. Please refer to the GeoPackage encoding article for more details.

New featureLuciadCPillar

Raster layers can now be divided into the following two types, based on the expected interaction between the application user and the layer: You can set the RasterLayerTypeRasterLayerTypeRasterLayerType through the RasterLayer::BuilderRasterLayer::BuilderRasterLayer::Builder class. The default raster layer type is RasterLayerType::BackgroundRasterLayerType::BackgroundRasterLayerType::Background. For more information, please read the RasterLayerTypeRasterLayerTypeRasterLayerType API documentation and the Interacting with raster layers article.

New featureLuciadCPillar

The Attribution API has been added. This update enables attribution data to be provided to tiled models using an IMultilevelTiledAttributionProviderIMultilevelTiledAttributionProviderIMultilevelTiledAttributionProvider. Additionally, all attributions on a map can now be retrieved via its MapAttributionsMapAttributionsMapAttributions. This feature is demonstrated for HERE Maps and MBTiles in the 'Dataformats' sample. For more information, please refer to the attribution article.

ImprovementLuciadCPillar

The bold and italic variants of Noto are now supported.

ImprovementLuciadCPillar

Added support for the following GLTF extensions:
  • KHR_texture_transform
  • KHR_mesh_quantization
  • EXT_meshopt_compression
You can now load GLTF data as 3D icons or in 3D tiles datasets that use these extensions.

ImprovementLuciadCPillar

LCP-713
An overloaded Map::HeightProvider::retrieveHeightAtMap::HeightProvider::retrieveHeightAtMap::HeightProvider::retrieveHeightAt method has been added. It is now possible to query the map for elevation values at a provided point on the map and at provided pixel density. For more information, please read the Map::HeightProvider::retrieveHeightAtMap::HeightProvider::retrieveHeightAtMap::HeightProvider::retrieveHeightAt API documentation and the updated How to get height data from the map article.

Bug fixLuciadCPillar

LCP-703
Fixed an issue for an authenticated WMS where canceling the authentication needed to be done twice. This was caused by the WMS client making another attempt using WMS version 1.1.1 after the canceled authentication for WMS 1.3.0.

Upgrade considerationLuciadCPillar

The following third party libraries have been updated:
  • libcurl: updated to version 8.6.0
  • openssl: updated to version 3.1.2
  • zlib: updated to version 1.3.1

Upgrade considerationLuciadCPillar

On Linux, LuciadCPillar now requires an operating system with glibc version 2.28 or higher. The minimum compiler version needed to build your CPillar project has been upgraded to GCC 11.

Upgrade considerationLuciadCPillar

The freetype library has been updated to version 2.13.2.

Upgrade considerationLuciadCPillar

The LuciadCPillar samples have been updated to use Qt version 6.5 (LTS). Please refer to the installation instructions and requirements page for details. This has no effect on the use of the LuciadCPillar API.

Upgrade considerationLuciadCPillar

LuciadCPillar depends on the library libwebp to support the WebP format.

Upgrade considerationLuciadCPillar

LuciadCPillar now depends on the meshoptimizer library.

Upgrade considerationLuciadCPillar

LuciadCPillar now depends on the protobuf library.