2024.1.05
ImprovementLuciadCPillar
LCP-969
GdalModelDecoder
will now still open GeoTIFF files with a PaletteIndex channel even if they
contain other channels.
ImprovementLuciadCPillar
LCP-665
It is now possible to call
Feature::getValue
with a more specific geometry type as
type parameter.
Bug fixLuciadCPillar
LCP-967
Fixed an issue where very large labels would result in a crash.
Bug fixLuciadCPillar
LCP-966
Fixed an issue where certain GeoPackage feature models without an underlying RTree would have incorrect bounds,
resulting in certain features missing from the visualization.
Bug fixLuciadCPillar
LCP-962
Fixed a rare crash that could happen when displaying labels (the more labels, the more chance to trigger the crash)
and resizing the map.
2024.1
2024.1.04
ImprovementLuciadCPillar
LCP-956
Added
FeatureCanvas::LabelDrawCommand::viewOriented
that allows you to choose whether a
label's rotation should be relative to the view.
ImprovementLuciadCPillar
LCP-807
Labels are now still visible when partially outside the view, instead of disappearing as soon as their anchor point
leaves the view.
2024.1.03
ImprovementLuciadCPillar
LCP-949
GeoPackageModelEncoder
now implicitly converts certain Geometry types that are not supported
by the GeoPackage format to an equivalent Geometry type that is supported. See the "Supported Geometry types"
section of the documentation of GeoPackageModelEncoder::exportFeatureModel
for a full list.
ImprovementLuciadCPillar
LCP-941
Map::getVisibleArea
was added. This function returns a geometry, defined in a geodetic
reference that represent which part of the map is currently visible. This method is similar to the
Map::getMapBounds
function, but returns a more precise area.
ImprovementLuciadCPillar
LCP-947
When exporting an
IFeatureModel
to a GeoPackage file or when creating an empty GeoPackage
file, GeoPackageModelEncoder
now lets you pick a custom table name for each data type through
the GeoPackageFeatureModelExportOptions
/GeoPackageFeatureModelCreateOptions
respectively.
ImprovementLuciadCPillar
LCP-945
All Layer classes now have an asBuilder function. This function can be used to create an (adjusted) copy of a layer.
Bug fixLuciadCPillar
LCP-955
The interior rings of polygons in an MBTiles model are now properly visualized as holes rather than filled in.
Bug fixLuciadCPillar
LCP-952
GeoPackageModelEncoder
now properly closes the loop for rings in a Polygon when exporting an
IFeatureModel
to GeoPackage. Similarly, GeoPackageModelDecoder
ignores the last point in a ring if it is the same as the first point.
Bug fixLuciadCPillar
LCP-950
Map::Renderer::toImage
could print a (harmless) error message when using a debug build.
This is now fixed.
2024.1.02
2024.1.01
ImprovementLuciadCPillar
LCP-932
Added
FeatureStateManager::getFeaturesWithStateEnabled
to retrieve all features of a layer
that have a given feature state enabled.
Bug fixLuciadCPillar
LCP-934
In rare cases,
Map::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 MilitarySymbolStyle
is set.
Bug fixLuciadCPillar
LCP-925
Fixed an issue where
overrideColor
in MilitarySymbolStyle
was not taken in account for parts of Military Icons.
Bug fixLuciadCPillar
LCP-924
Fixed an issue where disabling fill through
fillEnabled
in MilitarySymbolStyle
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::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::isBusy
and Map::isBusy
methods. ILayerObserver
and IMapObserver
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
The pixel format
Rgba32
, comprising 4 channels of floating-point values, has been added to the list of available pixel formats in PixelFormat
.
New featureLuciadCPillar
It is now possible to style feature data using density map styling by configuring
DensitySettings
on the FeatureLayer
. Please refer to the density painting
article for more information. Also see the "Tracks" sample for an example.
New featureLuciadCPillar
The BezierCurve
geometry now also supports cubic interpolation. A Bézier curve can now be
created by on of these methods:
GeometryFactory::createQuadraticBezierCurve
: creates quadratic Bézier curve that is defined by 3 control points.GeometryFactory::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::getControlPointCount
function. Also, the editing sample demonstrates how to create and edit a CubicBezierCurve.
ImprovementLuciadCPillar
LCP-883
MilitarySymbol
has a new method getValueMaximumLength
that returns the maximum length allowed when invoking MilitarySymbol::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 Ogc3DTilesModelDecoder
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::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
BackgroundStyle
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::getMapBounds
.
ImprovementLuciadCPillar
LCP-120
The map's current scale can now be retrieved from the Map with
Map::getMapScale
.
ImprovementLuciadCPillar
LCP-754
CoordinateReferenceProvider
now also has support for WKT strings that describe a
topocentric reference.
Bug fixLuciadCPillar
LCP-818
RasterLayer
: when the RasterLayerType
was set to RasterLayerType::Background
,
an error was thrown if the IRasterModel
was referenced with tie points.
Bug fixLuciadCPillar
FeatureLayer
didn't always display all features under the following conditions:
FeatureLayerLoadingStrategy::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
FeatureHandlesProvider
didn't check its delegate IGeometryHandlesProvider
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::createQuadraticBezierCurve
. - The
BezierCurve::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::deriveControlPoint
now also takes an index as parameter to align with theBezierCurve::getControlPoint
method.
Upgrade considerationLuciadCPillar
The
harfbuzz
library has been updated to version 8.3
.
Upgrade considerationLuciadCPillar
Layer
s and LayerList
s can only be attached to a single Map
at a time. Directly, as a LayerList on a Map, or indirectly, as the LayerList of a IController
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.