2024.1.02
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-938
Fixed an issue where
RelativePosition.southWest
would anchor labels
from the bottom right instead of the top right.
2024.1
2024.1.01
ImprovementLuciadCPillar
LCP-932
Added
FeatureStateManager::getFeaturesWithStateEnabledFeatureStateManager::getFeaturesWithStateEnabledFeatureStateManager::getFeaturesWithStateEnabled
to retrieve all features of a layer
that have a given feature state enabled.
ImprovementLuciadCPillar
LCP-935
ImprovementLuciadCPillar
LCP-935
Bug fixLuciadCPillar
LCP-934
In rare cases,
Map::Renderer::paintMap::Renderer::paintMap::Renderer::paint
could return false (meaning the rendering is not complete
yet) while it should return true.
Bug fixLuciadCPillar
LCP-682, LCP-554
Fixed an issue where icons with an orientation would point to an incorrect direction in 3D.
Bug fixLuciadCPillar
LCP-913
Fixed an issue where parts of icons were missing if the property
overrideColor
in MilitarySymbolStyleMilitarySymbolStyleMilitarySymbolStyle
is set.
Bug fixLuciadCPillar
LCP-925
Fixed an issue where
overrideColor
in MilitarySymbolStyleMilitarySymbolStyleMilitarySymbolStyle
was not taken in account for parts of Military Icons.
Bug fixLuciadCPillar
LCP-924
Fixed an issue where disabling fill through
fillEnabled
in MilitarySymbolStyleMilitarySymbolStyleMilitarySymbolStyle
did not yield the expected result.
Bug fixLuciadCPillar
LCP-922
GeoPackage files that are missing the
gpkg_geometry_columns
table can now still be opened.
2024.1
New featureLuciadCPillar
Added support for loading custom fonts using
Fonts::registerFontFonts::registerFontFonts::registerFont
.
Please refer to the fonts article for
more information.
New featureLuciadCPillar
You can now see if a layer or a map is busy (e.g. when a layer is loading data, or a map has ongoing animations) by
querying the
Layer::isBusyLayer::isBusyLayer::isBusy
and Map::isBusyMap::isBusyMap::isBusy
methods. ILayerObserverILayerObserverILayerObserver
and IMapObserverIMapObserverIMapObserver
allow you to monitor changes to the busy property.
To demonstrate this, the samples now have a busy spinner icon in the layer list that is visible whenever the layer
is busy.
New featureLuciadCPillar
LCP-869
You can now use the
mod
expression in StyleExpressionFactoryStyleExpressionFactoryStyleExpressionFactory
.
New featureLuciadCPillar
The pixel format
Rgba32
, comprising 4 channels of floating-point values, has been added to the list of available pixel formats in PixelFormatPixelFormatPixelFormat
.
New featureLuciadCPillar
It is now possible to style feature data using density map styling by configuring
DensitySettingsDensitySettingsDensitySettings
on the FeatureLayerFeatureLayerFeatureLayer
. Please refer to the density painting
article for more information. Also see the "Tracks" sample for an example.
New featureLuciadCPillar
The BezierCurveBezierCurveBezierCurve
geometry now also supports cubic interpolation. A Bézier curve can now be
created by on of these methods:
GeometryFactory::createQuadraticBezierCurveGeometryFactory::createQuadraticBezierCurveGeometryFactory::createQuadraticBezierCurve
: creates quadratic Bézier curve that is defined by 3 control points.GeometryFactory::createCubicBezierCurveGeometryFactory::createCubicBezierCurveGeometryFactory::createCubicBezierCurve
: creates a cubic Bézier curve that is defined by 4 control points.
You can make the distinction between both using the new BezierCurve::getControlPointCountBezierCurve::getControlPointCountBezierCurve::getControlPointCount
function. Also, the editing sample demonstrates how to create and edit a CubicBezierCurve.
ImprovementLuciadCPillar
LCP-883
MilitarySymbolMilitarySymbolMilitarySymbol
has a new method getValueMaximumLength
that returns the maximum length allowed when invoking MilitarySymbol::putValueMilitarySymbol::putValueMilitarySymbol::putValue
.
ImprovementLuciadCPillar
LuciadCPillar now supports the following features of the OGC 3D Tiles specification version 1.1:
- EXT_mesh_gpu_instancing
- EXT_structural_metadata
- loading of point clouds from GLB files
Property Textures
and Multiple Feature IDs
are not supported.
See Ogc3DTilesModelDecoderOgc3DTilesModelDecoderOgc3DTilesModelDecoder
class documentation for a more thorough list of supported features.
ImprovementLuciadCPillar
LCP-884
MbTiles with non 256x256px tiles are now properly supported. A new decoder options has been added
to specify the tile size. See
MbTilesModelDecoderOptions::Builder::tileSizeMbTilesModelDecoderOptions::Builder::tileSizeMbTilesModelDecoderOptions::Builder::tileSize
for more information.
ImprovementLuciadCPillar
LCP-885
It is now possible to decode and visualize MBTiles containing elevation data.
Please refer to the Working with MBTiles data
article for more information.
ImprovementLuciadCPillar
LCP-762
It is now possible to add a background and frame around text or icons. To configure it, the
BackgroundStyleBackgroundStyleBackgroundStyle
class was added. You can use this new class in the following locations:
ImprovementLuciadCPillar
LCP-261
The currently visible bounds on the map can now be retrieved from the map with
Map::getMapBoundsMap::getMapBoundsMap::getMapBounds
.
ImprovementLuciadCPillar
LCP-120
The map's current scale can now be retrieved from the Map with
Map::getMapScaleMap::getMapScaleMap::getMapScale
.
ImprovementLuciadCPillar
LCP-754
CoordinateReferenceProviderCoordinateReferenceProviderCoordinateReferenceProvider
now also has support for WKT strings that describe a
topocentric reference.
Bug fixLuciadCPillar
LCP-818
RasterLayerRasterLayerRasterLayer
: when the RasterLayerTypeRasterLayerTypeRasterLayerType
was set to RasterLayerType::BackgroundRasterLayerType::BackgroundRasterLayerType::Background
,
an error was thrown if the IRasterModelIRasterModelIRasterModel
was referenced with tie points.
Bug fixLuciadCPillar
FeatureLayerFeatureLayerFeatureLayer
didn't always display all features under the following conditions:
FeatureLayerLoadingStrategy::LoadSpatiallyFeatureLayerLoadingStrategy::LoadSpatiallyFeatureLayerLoadingStrategy::LoadSpatially
is used.- The feature uses a geocentric or topocentric reference.
Bug fixLuciadCPillar
LCP-708
Editing 3D (geocentric or topocentric) geometries didn't work correctly when using the default handles
providers in the editing API. These handles providers now don't allow editing such geometries anymore.
Bug fixLuciadCPillar
FeatureHandlesProviderFeatureHandlesProviderFeatureHandlesProvider
didn't check its delegate IGeometryHandlesProviderIGeometryHandlesProviderIGeometryHandlesProvider
to determine if a feature can be edited or not.
Upgrade considerationLuciadCPillar
In light of the new support for cubic Bézier curves, the following incompatible API changes were made:
- The
GeometryFactory::createBezierCurve
function was renamed toGeometryFactory::createQuadraticBezierCurveGeometryFactory::createQuadraticBezierCurveGeometryFactory::createQuadraticBezierCurve
. - The
BezierCurve::getControlPointBezierCurve::getControlPointBezierCurve::getControlPoint
method now takes an index as parameter. To revert to the previous behavior, you can now call this method with an index of 1. - The
ObservableBezierCurveUtil::deriveControlPointObservableBezierCurveUtil::deriveControlPointObservableBezierCurveUtil::deriveControlPoint
now also takes an index as parameter to align with theBezierCurve::getControlPointBezierCurve::getControlPointBezierCurve::getControlPoint
method.
Upgrade considerationLuciadCPillar
The
harfbuzz
library has been updated to version 8.3
.
Upgrade considerationLuciadCPillar
The following Nuget Packages used by the C# samples were updated:
- System.Text.Json was updated to version 8.0.5
- NLog was updated to version 5.3.4
Upgrade considerationLuciadCPillar
LayerLayerLayer
s and LayerListLayerListLayerList
s can only be attached to a single MapMapMap
at a time. Directly, as a LayerList on a Map, or indirectly, as the LayerList of a IControllerIControllerIController
on a map. The underlying model can be used by multiple layers, so if you previously had a layer on multiple maps, you
now have to make multiple layers instead.