This page shows the release notes of older versions up until the point that the new version was released. For a full list of release notes of an old version, consult the documentation of that version.
For example if you want to see what is fixed in each 2019.1.x patch release, consult the release notes in the documentation of the 2019.1 release.
2023.1
2023.1.06
Bug fixLuciadCPillar
LCP-779
IconDrawCommand::scale
,
IconDrawCommand::size
and/or TextDrawCommand::scale
options.
2023.1.05
ImprovementLuciadCPillar
LCP-771
ImprovementLuciadCPillar
LCP-770
Bug fixLuciadCPillar
LCP-777
MouseGestureRecognizer
when 2 consecutive mouse pressed events using the
same mouse button arrive. This could only happen in rare circumstances, for example when using Alt-Tab or
when another window steals focus.
Bug fixLuciadCPillar
LCP-773, LCP-716
FeatureLayer
: fixed an issue that could, in rare cases, cause a crash of the application.
Bug fixLuciadCPillar
LCP-767
Bug fixLuciadCPillar
LCP-757
FeatureLayer
: Fixed an issue where transparent lines would not have a consistent color in
sharp corners or where they overlap themselves.
Bug fixLuciadCPillar
LCP-766
2023.1.04
Bug fixLuciadCPillar
LCP-760
Bug fixLuciadCPillar
LCP-745
Bug fixLuciadCPillar
LCP-759
Bug fixLuciadCPillar
LCP-758
GdalModelDecoder
could return a model with a reference with an ellipsoid
equidistant cylindrical projection instead of a spherical equidistant cylindrical projection.
Upgrade considerationLuciadCPillar
libbacktrace
library has been updated to version 20210118
.
2023.1.03
Bug fixLuciadCPillar
LCP-756
Bug fixLuciadCPillar
LCP-749
2023.1.02
ImprovementLuciadCPillar
LCP-752
ObservableGeometryUtil
class now has methods to derive observables for all geometry types.
The ObservableBezierCurveUtil
was also added. This class can derive observable instance
for each point that defines a bezier curve.
ImprovementLuciadCPillar
LCP-742
ImprovementLuciadCPillar
LCP-635, LCP-613
Bug fixLuciadCPillar
LCP-721
MgrsGridSetting::Builder::labelStyle
has been made consistent with
the styling of the default grid: it now uses a black halo by default instead of no halo.
Bug fixLuciadCPillar
LCP-717
Bug fixLuciadCPillar
LCP-748
CoordinateReferenceProvider
is now more flexible in
accepting parameter names for the projection center.
Bug fixLuciadCPillar
LCP-736
Bug fixLuciadCPillar
Upgrade considerationLuciadCPillar
LCP-710, LCP-712
A couple of methods now use double values instead of integer values:
This was done to avoid precision loss due to rounding errors. In rare cases, this precision loss could lead to incorrect behavior like:
- map-wide jittering effects
- a (small) black border at the side of the map
- the map content being stretched out very slightly
Upgrade considerationLuciadCPillar
LCP-737
boost
library has been updated to version 1.83.0
.
2023.1.01
ImprovementLuciadCPillar
LCP-729
It is now possible to specify an OcclusionMode
when painting geometries and (non-label)
icons or text. This allows you to (partially) show 3D objects that would otherwise be obscured by other 3D
objects. See
ImprovementLuciadCPillar
BASED_ON_DATA
as a new FacetCullingType
when you are styling mesh data
for a TileSet3DLayer
. You can use it if you
are unsure about the face culling type or if you are using a 3D Tiles set that uses GLTF version 2, or if you are mixing
double-sided and non-double-sided material.
ImprovementLuciadCPillar
LCP-701
The precision of WKT and EPSG references that use an ellipsoidal version of the Lambert azimuthal equal area projection has been improved. This affects the following EPSG codes:
- 3035
- 3571 to 3576
- 5633, 5635, 5636, 5638
- 6931, 6932
- 9039
- 9947
Bug fixLuciadCPillar
LCP-716
FeatureLayer
: fixed an issue that could cause a double free error on application exit when
lines are visualized on the map.
Bug fixLuciadCPillar
LCP-718
IFeatureModel
s persistenceManager::getChanges
now gives
the actual changes instead of an empty list.
Bug fixLuciadCPillar
LCP-715
IFeatureModel
's observer is called right before or while
a Map::Renderer
is destroyed.
Bug fixLuciadCPillar
LCP-707
Bug fixLuciadCPillar
LCP-706
Upgrade considerationLuciadCPillar
myVRArchive
library. This new dependency requires no code
changes.
2023.1
New featureLuciadCPillar
LonLatGrid
API documentation and
see the LonLat Grid article.
New featureLuciadCPillar
New featureLuciadCPillar
ComplexStrokeLineStyle
API has been added and FeatureCanvas::GeometryDrawCommand
has been extended to accept it. Using this, you can stroke a line with repeated patterns and decorations. They can
also be used for editor lines and RasterLayer
outlines.
See ComplexStrokePatternFactory
for an overview of available patterns.
See the complex stroke tutorial
for a step-by-step guide.
New featureLuciadCPillar
MgrsFormat
has been added which allows to format geodetic points to MGRS UTM/UPS coordinates.
It can also be used to parse MGRS UTM/UPS coordinates to a geodetic point.
See the MGRS Grid article for more information.
New featureLuciadCPillar
It is now possible to create 3D icons from glTF files in LuciadCPillar by using the
FeatureCanvas::drawIcon3D
method.
FeatureCanvas::Icon3DDrawCommand
allows you to set the glTF source file to load as well as other properties
such as transformations: scale, rotation, orientation and translation. As well as color modulation, mesh
position, query-ability of the mesh and a setting to tell if the mesh contains transparent surfaces.
The camera sample demonstrates how to import a glTF file. This information can also be found in the article
Learn how to load and visualize your glTF data.
For information about the limitation of our glTF support in LuciadCPillar please refer to the article
Which glTF version is supported and what are the limitations?.
New featureLuciadCPillar
GeoPackageModelDecoder
the isEditable flag in the GeoPackageModelDecoderOptions
needs to be set to true.
To save the changes made to an edited GeoPackage, the IFeatureModel
's FeatureModelPersistenceManager
needs to be used. See the GeoPackage feature editing article for more information.
New featureLuciadCPillar
RasterStyle
class.
Specifically, you can now set:
- The raster
RasterStyle::Builder::opacity
- The raster
RasterStyle::Builder::brightness
- The raster
RasterStyle::Builder::contrast
- The raster
RasterStyle::Builder::modulationColor
RasterStyle
.
ImprovementLuciadCPillar
FeatureLayer
not queryable, see
FeatureLayer::setQueryable
. When a layer doesn't have features that can be selected, this
method prevents it from happening for the entire layer. I then also reduces the performance overhead for that
layer in the Map::queryFeatures
method.
ImprovementLuciadCPillar
LCP-687
GraphicsEffects
, AtmosphereEffect
for details.
ImprovementLuciadCPillar
Map
, see Map::addObserver
.
ImprovementLuciadCPillar
LCP-659
GdalModelDecoder
now supports GeoTIFF elevation data using unsigned 16-bit integers.
For more information, please read the GdalModelDecoder
API documentation and
see the updated How to load elevation data article.
ImprovementLuciadCPillar
Feature::Builder::resetId
.
This can be useful when needing to remove the id of an existing feature. For example, to let an IFeatureModelUpdater
assign a new id to it.
Bug fixLuciadCPillar
LCP-694
Bug fixLuciadCPillar
LCP-670
Upgrade considerationLuciadCPillar
ImageIcon
has been moved.
In case you are using this class you need to change the following in your code:
C++
:include <luciad/drawing/ImageIcon.h>
C#
:using Luciad.Drawing
Android
:import com.luciad.drawing.ImageIcon
Upgrade considerationLuciadCPillar
GDAL
library and its dependencies have been updated.
GDAL
: updated to version3.7.0
PROJ
: updated to version9.1.1
json-c
: version0.17
, used byGDAL
libtiff
: version4.5.1
, used byGDAL
nlohmann_json
: version3.11.2
, used byPROJ
Upgrade considerationLuciadCPillar
EditState
of an
IEditHandle
has changed. For this purpose, the IEditHandle
interface has been extended with the IEditHandle::addEditStateObserver
and the
IEditHandle::removeEditStateObserver
methods, which must be implemented now.
Upgrade considerationLuciadCPillar
LCP-683
ExpressionFactory
now supports an expression representing a LIKE
operation. You can find it as ExpressionFactory::like
.
As a consequence the
IExpressionVisitor
interface has been extended with the
method IExpressionVisitor::visitLike
which must be implemented now.
Upgrade considerationLuciadCPillar
LineStyle
, FillStyle
, MeshStyle
, OnPathLabelStyle
,
PinStyle
, PointCloudStyle
, and TextStyle
are now
passed as values instead of shared_ptr
s. Setters that used to accept null
values, now accept nullopt
instead.
Upgrade considerationLuciadCPillar
LCP-619
Upgrade considerationLuciadCPillar
LCP-557
OpenSSL
library has been updated to version 3.0.11
.
Upgrade considerationLuciadCPillar
boost
library has been updated to version 1.83.0
.
Upgrade considerationLuciadCPillar
IFeatureModel
now has API that allows to save changes to the model using the
getPersistenceManager()
method. See FeatureModelPersistenceManager
.
This change breaks existing IFeatureModel
implementations.
These can be fixed by implementing the new method, and returning null
.
2023.0
2023.0.04
ImprovementLuciadCPillar
LCP-673
TextStyle
class now correctly documents that Kanji characters are supported.
ImprovementLuciadCPillar
LCP-686
CoordinateReferenceProvider
now also documents the list of EPSG codes that are not supported.
ImprovementLuciadCPillar
LCP-306
MapScale
for C++ (Windows and Linux), C#, and Android.
Bug fixLuciadCPillar
LCP-689
Bug fixLuciadCPillar
LCP-685
Map::queryFeatures
could temporarily return features of a layer that was already removed from
the Map's LayerList
.
Bug fixLuciadCPillar
LCP-674
IFeatureModel
with a slow queryBounds
implementation now doesn't impact the framerate
of the Map
anymore.
Bug fixLuciadCPillar
LCP-677
Bug fixLuciadCPillar
LCP-669
FeatureLayer
's spatial loading strategy was improved. Previously, certain conditions could cause
excessive memory usage. These conditions include:
- The presence of a
MapScale
with a small denominator in the layer'sIFeaturePainter
implementation or in the layer'sFeatureQueryConfiguration
- The presence of a large feature in the layer's
IFeatureModel
- A model update of this large feature in the layer's
IFeatureModel
- A camera position that is looking towards the horizon (in 3D), or the additional presence of many small features (>50000)
in the
layer's
IFeatureModel
, concentrated in a small area.
Bug fixLuciadCPillar
LCP-668
Bug fixLuciadCPillar
LCP-656
GeodesyCalculations
could return incorrect results when passing a geodesic coordinate with a latitude outside the
[-90.0, 90.0] interval. This also affected how geometries with latitudes outside the [-90.0, 90.0] interval were painted.
This is now fixed.
2023.0.02
ImprovementLuciadCPillar
LCP-652
FeatureLayer
.
See FeatureLayer::Builder::loadingStrategy
for more information.
2023.0.01
ImprovementLuciadCPillar
LCP-649
It is now possible to replace the IFeaturePainter
of a FeatureLayer
by a new feature painter instance. This allows you to change the styling for all features in the layer.
Note: There is currently the limitation that the detail levels of the new IFeaturePainter
must be the same as those of the previous feature painter.
ImprovementLuciadCPillar
LCP-614
GdalModelDecoder
now can read single band GeoTIFF floats or signed integers files for which a mask image is used
to indicate the 'no data' values.
ImprovementLuciadCPillar
CoordinateReferenceProvider
now supports compound references with an ellipsoidal vertical datum: VERT_DATUM tag with
value 2002 (ellipsoid).
ImprovementLuciadCPillar
CoordinateReferenceProvider
now recognizes "North American 1983 CSRS", "North American Datum 1983 CSRS" and variants
as aliases for the "NAD83 Canadian Spatial Reference System" geodetic datum name.
ImprovementLuciadCPillar
CoordinateReferenceProvider
now additionally supported the following datums, and coordinate references that make use of it:
- Korean Datum 1985
- Macao 1920
Bug fixLuciadCPillar
LCP-644
Bug fixLuciadCPillar
LCP-636
Bug fixLuciadCPillar
LCP-342
IIcon::createPainter
method is now called less often by the Map
.
This is especially beneficial when using the LabelDrawCommand::text
method. When used
for features that change very often, this could result in degraded update performance.
Bug fixLuciadCPillar
LCP-642
Bug fixLuciadCPillar
LCP-593
Since the 2022.0 release, QQuickMapObject
and QQuickMapRenderer
didn't allow creating multiple maps anymore.
This is now possible again.
When you have copies of these classes, you can fix this issue by copying the new versions of these classes from the LuciadCPillar sample code to your application.
Bug fixLuciadCPillar
CoordinateReferenceProvider
had incorrect projection parameters. This affected references where the EPSG database
defines parameters in a different unit than meters or degrees:
- EPSG:3359
- EPSG:22391 and EPSG:22392
- EPSG:22780
- EPSG:26191 to EPSG:26195
- EPSG:26814 and EPSG:26815
- EPSG:26819 to EPSG:26822
- EPSG:26825 and EPSG:26826
- EPSG:26830 to EPSG:26833
- EPSG:26836 and EPSG:26837
- EPSG:26841 to EPSG:26844
- EPSG:30491 and EPSG:30492
- EPSG:30791 and EPSG:30792
Bug fixLuciadCPillar
LCP-612
Bug fixLuciadCPillar
LCP-615
FeatureCanvas
draw methods, the Map::queryFeatures
method would not always return the top-most feature.
Bug fixLuciadCPillar
LCP-609
AmbientOcclusionEffect
: The ambient occlusion effect was sometimes incorrectly applied on
icons.
Bug fixLuciadCPillar
Bug fixLuciadCPillar
LCP-172, LCP-607
- PolylineHandlesProvider
- PolylineRingHandlesProvider
Bug fixLuciadCPillar
LCP-606
Bug fixLuciadCPillar
LCP-588
Bug fixLuciadCPillar
LCP-594
Bug fixLuciadCPillar
LCP-577
2023.0
New featureLuciadCPillar
IIcon
from a MilitarySymbol
.
This is particularly useful if you want to get the military symbol as an Image
.
Please refer to the API documentation of MilitarySymbol::toIcon
for more information.
New featureLuciadCPillar
LCP-384
Map::HeightProvider
directly from the map to query elevation across all the visible elevation layers for a given pixel.
See related article on the map height provider for more information.
New featureLuciadCPillar
GdalModelDecoder
now supports decoding single band GeoTIFF files using either
32-bit floats or signed integers. Such GeoTIFF data files are interpreted as elevation data.
New featureLuciadCPillar
RasterModelHeightProvider
class.
See
related article on how to get height data from a raster model for more information.
New featureLuciadCPillar
LCP-35
- The Map can now correctly visualize non-world covering elevation data sets correctly. In previous versions it clips away all other data outside the extents of the elevation data set. This is not the case anymore: all data outside the elevation data's extent is now painted at elevation 0.
- The map can now visualize multiple elevation data sets at the same time. In previous versions only the top-most elevation layer is used to generate terrain. Now all layers that contain elevation data are used to generate terrain.
New featureLuciadCPillar
- The DTED Developer's Guide.
- The reference documentation of
DtedModelDecoder
on how to decode DTED.
New featureLuciadCPillar
IHttpClient
and plugging it into the model decoder
options, or by directly using the HttpClient
class after having properly configured it.
More information can be found in the article
how to customize HTTP requests when loading data.
Custom HTTP data loading is supported by the following decoders:
ImprovementLuciadCPillar
LCP-583
ImprovementLuciadCPillar
PointCloudStyle::Builder::pointSizeAdaptive
).
Adaptive point size is now the recommended setting for all point clouds.
ImprovementLuciadCPillar
LCP-551
ImprovementLuciadCPillar
LCP-258
Map::ViewMapTransformation::mapToView
on when an exception
can be thrown by the method.
ImprovementLuciadCPillar
MultilevelTiledRasterModelBuilder
now allows to create levels for which the top-left
corner to the level bounds is not the same for all levels.
ImprovementLuciadCPillar
ImprovementLuciadCPillar
LCP-386
GeoPackageModelDecoder
now correctly sets a no-data value for elevation models,
allowing the Map to detect locations where no elevation is available.
ImprovementLuciadCPillar
MultilevelTiledRasterModelBuilder
and QuadTreeRasterModelBuilder
. This no-data value can be used to specify that no
elevation data is available at certain sample locations.
Bug fixLuciadCPillar
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
2022.1
2022.1.08
ImprovementLuciadCPillar
Bug fixLuciadCPillar
LCP-587
2022.1.07
ImprovementLuciadCPillar
LCP-574
Bug fixLuciadCPillar
LCP-573
Bug fixLuciadCPillar
LCP-573, LCP-312
Bug fixLuciadCPillar
LCP-575
2022.1.06
Bug fixLuciadCPillar
LCP-569
Bug fixLuciadCPillar
LCP-567
Bug fixLuciadCPillar
2022.1.05
2022.1.04
ImprovementLuciadCPillar
LCP-537, LCP-539
ImprovementLuciadCPillar
LCP-540
ImprovementLuciadCPillar
LCP-541
FeatureCanvas::drawText
.
ImprovementLuciadCPillar
LCP-552
MapNavigator::PanAction::fromViewLocation
method was added. This method accepts view coordinates, so it is targeted towards
event-based panning. Additionally, when using this method panning will be more limited when using a point near the horizon.
This is done to prevent the
camera from making very large changes. When using the MapNavigator::PanAction::from
method, panning is not limited.
Bug fixLuciadCPillar
LCP-542
FeatureCanvas
: when painting an icon with an orientation and a RelativePosition
, the position's
offsets were not correctly rotated along when rotating the map.
Bug fixLuciadCPillar
LCP-552
MapNavigator::newPanAction
: When panning to a location at a far away distance, the camera would end up somewhere in between
the start and destination of the pan operation instead of on the destination.
Bug fixLuciadCPillar
LCP-549
MultilevelTiledRasterModelBuilder
when working with non normalized lon-lat bounds
Bug fixLuciadCPillar
LCP-538
2022.1.03
Bug fixLuciadCPillar
LCP-531, LCP-533
RasterLayer
: part of the imagery could be clipped for certain camera positions
when elevation data was loaded.
Bug fixLuciadCPillar
LCP-536
Bug fixLuciadCPillar
LCP-374
2022.1.02
Bug fixLuciadCPillar
LCP-530
ZoomEventHandler
would throw an exception when trying to zoom before the map has been painted.
Bug fixLuciadCPillar
LCP-527
Creator
for a layer that is configured with an IFeaturePainter
that configures
detail level scales, a crash would occur when calling FeaturePainterContext::getDetailLevel
. This is now fixed.
2022.1.01
ImprovementLuciadCPillar
LCP-392
ImprovementLuciadCPillar
LCP-437
Bug fixLuciadCPillar
LCP-521
IMultilevelTiledRasterDataRetrieverCallback::onImageAvailable
did not correctly take the alpha pre-multiplication into account.
This resulted in the color to be treated as an opaque color.
Bug fixLuciadCPillar
LCP-89
GeodesyCalculations::distance3D
method didn't return correct results when using a geodetic reference.
Bug fixLuciadCPillar
LCP-349, LCP-436
Bug fixLuciadCPillar
LCP-442
2022.1
New featureLuciadCPillar
LuciadCPillar for Android allows you to develop GPU accelerated geospatial situational awareness applications targeted to run on Android mobile devices. LuciadCPillar for Android is an SDK that supports both Kotlin and Java development. It is feature equivalent with LuciadCPillar for desktop.
To get started, consult the product documentation and select the Android profile at the top right of the page. The product documentation includes installation guides, a Java API reference and a set of ready-to-run kotlin samples that can be installed on your mobile device from Android studio.
New featureLuciadCPillar
You can now enable GPU texture compression on TileSet3DLayer
for OGC 3D Tiles mesh data.
This can greatly reduce the amount of GPU memory needed, improve performance and stability.
Enable when displaying meshes with large textures, such as reality capture reconstructions. By default, texture
compression is enabled.
Disable when displaying meshes with lookup textures, such as CAD models.
If your environment does not support GPU texture compression, setting the flag has no effect.
New featureLuciadCPillar
GraphicsEffects
, AmbientOcclusionEffect
and
EyeDomeLightingEffect
for details.
When enabled, they are applied on all the data on the map.
New featureLuciadCPillar
GdalModelDecoder
now supports decoding of 8 bit indexed color GeoTIFF data.
New featureLuciadCPillar
MultilevelTiledRasterModelBuilder
and QuadTreeRasterModelBuilder
classes.
This for example allows you to implement your own raster format, or position a single image on the map.
The article
introduction to raster models
provides more information on these classes.
You can indicate that your custom raster data may change.
To enable this you need to call
MultilevelTiledRasterModelBuilder::enableInvalidation
or
QuadTreeRasterModelBuilder::enableInvalidation
.
This results in the creation of an IRasterModel
which returns true
for the method IRasterModel::canInvalidate
and on which you can call
IRasterModel::invalidate
.
Invalidating the raster instructs LuciadCPillar to reload the data from the model and update the view accordingly.
ImprovementLuciadCPillar
GeometryFactory
now also has a createPoint method that takes a Coordinate
as input.
ImprovementLuciadCPillar
ImprovementLuciadCPillar
CoordinateReferenceProvider
can now parse more WKT strings that do not contain a TOWGS84 in its datum.
ImprovementLuciadCPillar
RasterLayer
now respects the display scale, which results in better performance
on HiDPI screens.
ImprovementLuciadCPillar
LCP-19, LCP-21, LCP-22, LCP-25, LCP-65, LCP-290, LCP-290, LCP-343
- Data starts appearing on the screen up to 10 times faster right after adding a vector layer or after zooming in to a different detail level.
- Data loading throughput is up to 2 times larger.
- Data appears and disappears up to 5-10 times faster while navigating.
- The map's frame rate is higher while vector data is loaded. Navigation now remains smooth at all times during loading.
ImprovementLuciadCPillar
TouchGestureRecognizer
now more reliably makes the distinction between two-finger touch drag evens and pinch-rotate touch events.
ImprovementLuciadCPillar
Ogc3DTilesModelDecoder::decode
has been overloaded so that you can now configure
Ogc3DTilesModelDecoder::Options
for the decoding of OGC 3D tiles data. These options allow
you to configure a custom IDataLoader
to fetch the OGC 3D Tiles resources,
in case the default data loading from a server or the file system is not adequate for your use case.
HspcModelDecoder::decode
also supports this.
ImprovementLuciadCPillar
LCP-415
projection-wkt
property).
Before, only HSPC references expressed with an EPSG code (projection-epsg
property) were supported.
ImprovementLuciadCPillar
LCP-19, LCP-21, LCP-22, LCP-25, LCP-343
ImprovementLuciadCPillar
CoordinateReferenceProvider
now supports EPSG references based on the IG05/12 Intermediate datum:
- EPSG:6988
- EPSG:6989
- EPSG:6990
- EPSG:6991
ImprovementLuciadCPillar
LCP-75
GeoPackageModelDecoder
: the decoder now supports decoding geometries with an optional
elevation (Z) value.
ImprovementLuciadCPillar
LCP-338
ImprovementLuciadCPillar
Bug fixLuciadCPillar
GdalModelDecoder
: some files would cause a crash while a feature query is performed when no geometry could be found for a feature.
A warning is logged now instead.
Bug fixLuciadCPillar
Bug fixLuciadCPillar
Bug fixLuciadCPillar
Bug fixLuciadCPillar
LCP-434
Bug fixLuciadCPillar
LCP-408
Bug fixLuciadCPillar
Bug fixLuciadCPillar
Bug fixLuciadCPillar
PointEditHandle::addOnClickAction
allowed the handle to execute actions for TouchLongPressEvent
events.
This has now been fixed. To allow configuring long press actions on a handle, the PointEditHandle::addOnTouchLongPressAction
method has been added.
Bug fixLuciadCPillar
LCP-400
Bug fixLuciadCPillar
LCP-399
Bug fixLuciadCPillar
LCP-416
RasterLayer
: For some specific camera positions it was possible that parts of the terrain were
missing. This resulted in gaps in the visualization of the terrain and possibly large camera movements when
navigating.
Bug fixLuciadCPillar
Map::getAnimationManager
. This could for example
lead to the camera jumping to an incorrect location when zooming in and out in quick succession using
MapNavigator::ZoomAction
.
Bug fixLuciadCPillar
LCP-418
Bug fixLuciadCPillar
Bug fixLuciadCPillar
MapNavigator
that could potentially interrupt ongoing animations,
and in rare cases could lead to a crash.
Bug fixLuciadCPillar
LCP-433
Bug fixLuciadCPillar
LCP-402
Bug fixLuciadCPillar
LCP-423
Upgrade considerationLuciadCPillar
MapNavigator::getAnimationKey
was removed. In order to cancel navigate actions that were initiated by
MapNavigator
, you can now use the MapNavigator::cancel
method instead. This method
does not only cancel animations, but also other non-animated MapNavigator
actions.
Upgrade considerationLuciadCPillar
PanAction::to
and ZoomAction::to
have been renamed to
PanAction::toLocation
and ZoomAction::toLocation
respectively.This prevents a naming clash with the Kotlin
to
infix.
Upgrade considerationLuciadCPillar
libcurl
: updated to version7.86.0
openssl
: updated to version1.1.1s
zlib
: updated to version1.2.13
Upgrade considerationLuciadCPillar
TileSet3DLayer
uses texture compression by default.
This has the advantage that less GPU memory is used.
In case artifacts would be noticeable in textures on a OGC 3D tiles mesh, you can disable texture
compression via TileSet3DLayer::Builder::textureCompressionEnabled
.
Upgrade considerationLuciadCPillar
stb
and goofy
libraries in order to
support OGC 3D Tiles texture compression.
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
GDAL
library and its dependencies have been updated.
GDAL
: updated to version3.4.3
PROJ
: updated to version9.0.1
SQLite3
: updated to version3.38.5
nlohmann_json
: version3.10.5
, used byPROJ
libgeotiff
: version1.7.1
, used byGDAL
json-c
: version0.15
, used byGDAL
Upgrade considerationLuciadCPillar
Image.Create
factory method taking a byte[]
was removed from the
C# API. The factory method taking a ByteBuffer
should be used instead.
Upgrade considerationLuciadCPillar
MemoryBuffer
class was removed from the API. Use cases that used to be covered by
MemoryBuffer
are now covered by the new ByteBuffer
class.
2022.0
2022.0
New featureLuciadCPillar
- The updated articles regarding Interacting with the Map.
- The LuciadCPillar Qt integration Guide.
New featureLuciadCPillar
- The OGC 3D Tiles Developer's Guide.
- The HSPC Developer's Guide.
- The reference documentation of
Ogc3DTilesModelDecoder
on how to decode OGC 3D Tiles. - The reference documentation of
HspcModelDecoder
on how to decode HSPC (Hexagon Smart Point Cloud) files.
New featureLuciadCPillar
The CPillar map now supports high DPI rendering. This means that fonts, icons and other map elements are automatically resized in proportion to the display scale configured in the operating system. This also means that map scale calculations use the configured DPI to get a correct interpretation.
When integrating the CPillar map in a UI framework the DPI and the display scale must be configured
on the Map::Renderer
.
You can read more on this in the article on
support for high DPI displays.
The article on
integration within Qt
provides details on how this is done for the Qt UI toolkit.
The API allows to provide icons for multiple resolutions such that the CPillar map can use the best applicable
for your screen setup. For this purpose, the IIcon
class was modified to allow painting
an icon in different resolutions.
ImprovementLuciadCPillar
LCP-90
ImprovementLuciadCPillar
MouseCursor
was added to allow hiding the map cursor.
ImprovementLuciadCPillar
ImprovementLuciadCPillar
LCP-214, LCP-216
overrideColor
in MilitarySymbolStyle::Builder
.
This can be used to highlight a symbol. The symbology sample now shows how to do this when selecting tactical symbols.
ImprovementLuciadCPillar
Map::queryFeatures
can now be called from the UI thread and passes its result to its callback synchronously.
ImprovementLuciadCPillar
ImprovementLuciadCPillar
PanEventHandler
or RotateEventHandler
are now returning an EventStatus
indicating if they consumed the event or not.
ImprovementLuciadCPillar
LCP-55
ImprovementLuciadCPillar
CoordinateReference
instances are equal with respect to
transforming using Transformation::isIdentity
. The result of this check is different from
the regular equality operator that can be found on CoordinateReference
: it only uses
the data that is used during transformations, and not at the references metadata.
ImprovementLuciadCPillar
LCP-176
GeoPackageModelDecoder
now supports elevation data encoded as TIFF.
Bug fixLuciadCPillar
CoordinateReference
equality and hash implementations are now implemented more
strictly. Previously these methods used the identifier equality and hash, which could lead to incorrect
false positives.
Upgrade considerationLuciadCPillar
fast_float
library version 3.4.0
has been added.
This library is used to parse floating point values from strings.
Upgrade considerationLuciadCPillar
LCP-361
zlib
library has been updated to v2.1.12
.
Upgrade considerationLuciadCPillar
OpenGL 4.2
instead of OpenGL 4.1
.
Upgrade considerationLuciadCPillar
draco
library.
Upgrade considerationLuciadCPillar
myVRPointCloud
, jcsoncpp
,
pdqsort
, and zstd
to support the Hexagon Smart Point Cloud (HSPC)
format.
Upgrade considerationLuciadCPillar
IIcon
interface was modified to add support for painting the icon in different
resolutions, depending on the display scale of your screen. To this purpose, a new interface was added:
IIconPainter
. The IIcon::toImage
method was replaced by
the new IIcon::createPainter
method. The getWidth, getHeight, getAnchorX and getAnchorY
methods were moved to this new IIconPainter
interface.
Upgrade considerationLuciadCPillar
ObservableXxx
Value property has been replaced by a getter and a setter.
Upgrade considerationLuciadCPillar
Observable<Xxx>
everywhere instead of
ObservableXxx
. This can cause compile errors that can be resolved by referring
to Observable<Xxx>
in the code instead.
Upgrade considerationLuciadCPillar
IInputEvent
s and in particular, gesture recognition, have been refactored.
See the updated articles regarding interacting with the Map through a controller
and integration within Qt for more information.
-
Mouse input events related types are now declared in the
luciad/input/mouse/MouseEvents.h
header. -
The
GestureRecognizer
class has been replaced by dedicatedMouseGestureRecognizer
andTouchGestureRecognizer
classes, which handle mouse based and touch based gestures, respectively. -
The
MouseGestureRecognizer
can be included through theluciad/input/mouse/MouseGestureRecognizer.h
header. -
The
TouchGestureRecognizer
can be included through theluciad/input/touch/TouchGestureRecognizer.h
header.
Upgrade considerationLuciadCPillar
TextBlock
class and its builders are now returned by value.
Upgrade considerationLuciadCPillar
ms-gsl
.
Upgrade considerationLuciadCPillar
concurrentqueue
library has been updated to v1.0.3.
Upgrade considerationLuciadCPillar
libtiff
to support GeoPackage files
containing TIFF encoded elevation data.
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
2021.1
2021.1.05
ImprovementLuciadCPillar
LCD-12276
CoordinateReferenceProvider
now supports WKT strings that contain a "Local" projection
parameter, which corresponds to an orthographic projection.
Bug fixLuciadCPillar
LCP-371, LCP-372
- Well Known Text (WKT) reference
- WMS capabilities
- GeoTIFF
Bug fixLuciadCPillar
LCP-365
Bug fixLuciadCPillar
LCP-352
Bug fixLuciadCPillar
LCP-347
2021.1.04
Bug fixLuciadCPillar
LCP-358
Bug fixLuciadCPillar
LCP-357
Map::IRendererCallback
in a WinForms application.
Bug fixLuciadCPillar
LCP-350
2021.1.03
ImprovementLuciadCPillar
LCP-343
FeatureLayer
now requires less processing time, and that it appears faster on the screen.
Bug fixLuciadCPillar
LCP-346
Bug fixLuciadCPillar
LCP-308
FeatureQueryConfiguration::Builder::loadNothingForNonDefinedScales
flag set
in addition to at least one map scale condition.
2021.1.02
Bug fixLuciadCPillar
LCP-345
KeyNotFoundException
when using the default logging.
2021.1.01
Bug fixLuciadCPillar
LCP-329
Map
getting stuck at destruction time.
Bug fixLuciadCPillar
LCD-12108
CircleByCenterPoint
and CircularArcByCenterPoint
are now more accurate. Before, the bounds were too small in some cases.
Bug fixLuciadCPillar
LCD-12169
- EPSG:2065
- EPSG:5513
- EPSG:8352
2021.1
New featureLuciadCPillar
Camera
class, and Map::setCamera
for more information.
ImprovementLuciadCPillar
LCP-333
image/png
but in fact returns a JPEG image this is detected.
A warning is logged about the inconsistency but the image is loaded for visualization.
ImprovementLuciadCPillar
LCP-323
ImprovementLuciadCPillar
LCP-314
Map::setBackgroundColor
method was added.
The background color is used if no imagery layers are present (3D and 2D).
In 3D, the background color is also used for the space.
ImprovementLuciadCPillar
LCP-317
MapNavigator::RotateAction
only had methods to set delta values for the camera rotation. It
is now also possible to set target values for the camera rotation. This means that you can now specify the rotations
the camera will have at the end of the rotate action.
ImprovementLuciadCPillar
LCP-200
ImprovementLuciadCPillar
Map::Renderer::projectPointOnTerrain
method was added. This method calculates a point on
the terrain or ellipsoid, perpendicular to a given coordinate. It can for example be used to implement your own
above terrain camera constraint.
ImprovementLuciadCPillar
MapNavigator
now has methods to enable, disable or configure map navigation constraints:
- Above constraint: to keep the camera above the terrain in 3D
- Pitch constraint: to limit the camera tilt in 3D
- Bounds constraint: to keep the camera inside a defined bounds in 2D
- Scale constraint: to prevent the camera from zooming in or out too far in 2D
ImprovementLuciadCPillar
ImprovementLuciadCPillar
Environment
after it has been cleaned up.
Bug fixLuciadCPillar
Bug fixLuciadCPillar
Map::ViewMapTransformation::mapToView
could return a nullopt result
when transforming map points with a z-value different from 0. The fix for this bug also fixes a problem during
Polyline
editing: when trying to add a point to the start or end of the polyline,
PolylineHandlesProvider
always chose to add it to the end.
Bug fixLuciadCPillar
LCP-325
Bug fixLuciadCPillar
LCP-315
MapNavigator::ZoomAction
is used on some WMS/WMTS layers in 2D.
Bug fixLuciadCPillar
LCP-303
Bug fixLuciadCPillar
LCP-57
Upgrade considerationLuciadCPillar
Qt
5.15.2
.
Upgrade considerationLuciadCPillar
MapNavigator::RotateAction::deltaPitch
now accepts a double value instead of an
Angle
. This is more consistent with the rest of the API, and it avoids incorrect
normalization of the passed pitch value.
Upgrade considerationLuciadCPillar
glu
library has been updated to version 1.3+2
.
Upgrade considerationLuciadCPillar
freetype
library has been updated to version 2.10.4
.
Upgrade considerationLuciadCPillar
libpng
library has been updated to version 1.6.37
.
Upgrade considerationLuciadCPillar
curl
library has been updated to version 7.77.0
.
The openssl
library has been updated to version 1.1.1k
.
Upgrade considerationLuciadCPillar
MapNavigator::create
factory method was removed, and replaced by the new
Map::getMapNavigator
method. The advantage of using a single MapNavigator instance,
is that it can now store configuration, like constraint settings.
Upgrade considerationLuciadCPillar
spdlog
library, used in the samples, has been updated to version
1.9.2
.
The fmt
library, used by spdlog
has been updated to
version 8.0.1
.
Upgrade considerationLuciadCPillar
libjpeg
library has been updated to version 9d
.
Upgrade considerationLuciadCPillar
expected-lite
library has been updated to version 0.5.0
.
2021.0
2021.0.01
Bug fixLuciadCPillar
LCP-324
GetMap
request needed to use the
CRS EPSG:4326
. The visualization of the WMS layer was wrong.
2021.0
New featureLuciadCPillar
FeatureCanvas::LabelDrawCommand::onPath
using an OnPathLabelStyle
argument.
ImprovementLuciadCPillar
LCP-282
TextBlock
with a TextBlock::Builder
and forward it to FeatureCanvas::LabelDrawCommand::text
.
ImprovementLuciadCPillar
LCP-301
Feature.Builder.Value
is now faster.
ImprovementLuciadCPillar
LCP-301
FeatureLayer
instances without any labels.
ImprovementLuciadCPillar
FeatureCanvas::LabelDrawCommand::labelGroup
with LabelGroup::NoDeclutter
as value.
ImprovementLuciadCPillar
LCP-295
ImprovementLuciadCPillar
PathLabelPosition::Port
and PathLabelPosition::Starboard
can be used with both
FeatureCanvas::LabelDrawCommand::onPath
methods.
ImprovementLuciadCPillar
LCP-145
Bug fixLuciadCPillar
LCP-302
FeatureCanvas::LabelDrawCommand::anchorDraped
as true are now displayed correctly on elevated terrain.
Bug fixLuciadCPillar
LCP-299
SelectEventHandler
and HoverEventHandler
's setMargin methods are now correctly taken into account.
Bug fixLuciadCPillar
LCP-297
Bug fixLuciadCPillar
LCP-283
Bug fixLuciadCPillar
LCP-207
Upgrade considerationLuciadCPillar
TextStyle
class now doesn't contain verticalSpacing and horizontalAlignment properties
anymore. You can now specify these properties in an alternative way:
- directly pass a horizontalAlignment to the
FeatureCanvas::LabelDrawCommand::text
method that accepts a vector of strings - use the
FeatureCanvas::LabelDrawCommand::text
method that accepts aTextBlock
.
Upgrade considerationLuciadCPillar
TextStyle
header file was moved from the luciad/layers/styles folder to
the luciad/text folder. In the C# API, the namespace was changed from from Luciad.Layers.Styles to
Luciad.Text.
Upgrade considerationLuciadCPillar
PathLabelPosition
header file was moved from the luciad/layers/features folder to
the luciad/layers/styles folder. In the C# API, the namespace was changed from from Luciad.Layers.Features to
Luciad.Layers.Styles.
2020.2
2020.2
New featureLuciadCPillar
WmsCapabilities
and WmsModelDecoder
is explained
in the article on connecting to a WMS service.
You can use the data formats sample to connect to Web Map Services.
New featureLuciadCPillar
- add labels that are attached a point
- add labels that use the same orientation as the line they are attached to
- add labels inside an area
- labels are decluttered to avoid overlap
- labels are always painted above all the other content on the map
- a pin can be drawn to show where the label is attached to its feature
FeatureCanvas::LabelDrawCommand
for more details.
The labeling functionality is demonstrated in the label sample.
New featureLuciadCPillar
GdalModelDecoder
in this
article.
Decoding of SHP data files is available in the data formats sample.
ImprovementLuciadCPillar
TextStyle::Builder::fontName
. TextStyles
can be forwarded to FeatureCanvas::TextDrawCommand
and FeatureCanvas::LabelDrawCommand
.
ImprovementLuciadCPillar
LCP-267
ImprovementLuciadCPillar
LCD-11798
ImprovementLuciadCPillar
LCP-264
CoordinateReferenceProvider
now uses more precise parameters to transform from S-JTSK to WGS 84.
This affects the following codes:
- EPSG:2065
- EPSG:4156
- EPSG:4818
- EPSG:5221
- EPSG:5513
- EPSG:5514
ImprovementLuciadCPillar
LCP-257
CoordinateReferenceProvider
now supports "Australian 1984" (and variants) as alias for AGD84
for WKT strings.
ImprovementLuciadCPillar
LCP-159
ImprovementLuciadCPillar
FeatureModelBuilder::build
now allows the creation of an empty model.
ImprovementLuciadCPillar
LCP-204
CoordinateReferenceProvider
now has support for WKT and EPSG references that use the Krovak
projection. The following EPSG codes that use this projection are now supported:
- EPSG:2065
- EPSG:5221
- EPSG:5513
- EPSG:5514
- EPSG:8352
- EPSG:8353
Bug fixLuciadCPillar
LCP-274
Bug fixLuciadCPillar
LCP-260
MapNavigator
now check the validity of their parameters:
- The
to
parameter for aMapNavigator::ZoomAction
must be in the map reference or an exception is thrown. - The
from
parameter for aMapNavigator::PanAction
must be in the map reference or an exception is thrown. - The
center
parameter for aMapNavigator::RotateAction
must be in the map reference or an exception is thrown.
Bug fixLuciadCPillar
LCP-259
MapNavigator::ZoomAction
is used with a target scale and without animation.
Bug fixLuciadCPillar
LCP-269
Bug fixLuciadCPillar
LCP-151
Bug fixLuciadCPillar
LCP-263
Bug fixLuciadCPillar
Bug fixLuciadCPillar
LCP-252, LCP-253
Bug fixLuciadCPillar
Bug fixLuciadCPillar
LCP-254
Bug fixLuciadCPillar
LCP-278
CoordinateReferenceParser
didn't always correctly take a non-zero prime meridian and a
different angular unit into account for WKT and EPSG strings. This could result in:
- an incorrect prime meridian shift
- a prime meridian shift that was applied twice
- incorrect projection parameters
Bug fixLuciadCPillar
LCP-257
CoordinateReferenceProvider
: WKT strings using the NAD83 (National Spatial Reference System 2011)
datum and without TOWGS84 parameter were incorrectly formatted as an EPSG code using an other NAD83 version.
Bug fixLuciadCPillar
LCP-169
Polyline
are now always chosen correctly.
Bug fixLuciadCPillar
Bug fixLuciadCPillar
LCP-148
Bug fixLuciadCPillar
LCP-167
Bug fixLuciadCPillar
LCP-256
HoverEventHandler
or SelectEventHandler
.
Bug fixLuciadCPillar
LCP-255
Bug fixLuciadCPillar
LCP-251
Upgrade considerationLuciadCPillar
WmtsModelDecoder::decode
method now uses a pointer of the WmtsDataSource
.
The GeoPackageModelDecoder::decode
method now uses a pointer of a new class, GeoPackageDataSource
as input.
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
LCP-273
MilitarySymbolStyle
have now been aggregated in
a TextStyle
.
The text rendering style can be configured by invoking MilitarySymbolStyle::Builder::textStyle
.
Upgrade considerationLuciadCPillar
LCP-102
FeatureStyle
was removed, and replaced by concrete style classes: LineStyle
and
FillStyle
. Usages in the rest of the API were adjusted as well. The following classes are affected:
FeatureCanvas
and its draw command classesRasterLayer
EditSettings
PointEditHandle
TranslateEditHandle
Upgrade considerationLuciadCPillar
harfbuzz
to support rendering fonts using non-latin alphabets.
Upgrade considerationLuciadCPillar
to_string
methods for SortProperty
, SortOperator
and SortOrder
types in the FeatureQuery
class were removed.
Upgrade considerationLuciadCPillar
FeatureQueryConfiguration
class now returns the scale level count and
an indexed accessor instead of returning the whole vector of conditions.
The FeatureQueryConfiguration::getCondition
method can return an optional when
all features must be considered for a query.
Upgrade considerationLuciadCPillar
GeometryFactory::createArcBand
now takes the center
of the arc band as 2nd parameter. This aligns the signature with other geometry creation methods.
Upgrade considerationLuciadCPillar
WmtsLayer
now returns its styles and bounds as std::shared_ptr
instances.
Upgrade considerationLuciadCPillar
LCP-179
Map::ViewMapTransformation::viewToMap
is now a synchronous call, and doesn't require the use of a callback anymore.
Due to this change, the IPointCallback
class is not needed anymore in the API, so it was removed.
An additional change is that Map::getViewMapTransformation
is now a const method, and that it now returns a const ref as a result.
Upgrade considerationLuciadCPillar
LCP-170
Map::queryFeatures
: It is now possible that the same feature appears multiple times in the result list.
A new overlay flag has been added to MapQueryFeaturesResult
for features that have been hit by their
overlay component drawn in view space. MapQueryFeaturesResult::mapTouchPoint
is now optional and does
not have a value for overlay items.
Upgrade considerationLuciadCPillar
FeatureCanvas::TextDrawCommand
now accepts TextStyle
instead
of separate text styling properties.
2020.1
2020.1
New featureLuciadCPillar
New featureLuciadCPillar
New featureLuciadCPillar
LCP-71
Map::queryFeatures
.
See FeatureCanvas::GeometryDrawCommand::queryable
, FeatureCanvas::IconDrawCommand::queryable
,
FeatureCanvas::TextDrawCommand::queryable
for more details.
New featureLuciadCPillar
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
GdalModelDecoder
which uses the GDAL library.
New featureLuciadCPillar
GeoPackageModelDecoder
now supports the GeoPackage 1.0.1, 1.1.0, 1.2.1, and the 1.3.0 specifications.
New featureLuciadCPillar
New featureLuciadCPillar
ImprovementLuciadCPillar
ImprovementLuciadCPillar
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
ImprovementLuciadCPillar
ArcBand
for its constituting arcs and lines.
ImprovementLuciadCPillar
GeometryFactory::createArcBand
now optionally takes the direction of the arc band.
ImprovementLuciadCPillar
LCP-109
FeatureLayer
has been improved in the case of
many small features, like roads.
ImprovementLuciadCPillar
LCP-127
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.
ImprovementLuciadCPillar
LCP-69
Debug
library version.
ImprovementLuciadCPillar
LCP-126
ImprovementLuciadCPillar
LCP-122
ImprovementLuciadCPillar
ImprovementLuciadCPillar
LCP-95
ImprovementLuciadCPillar
ImprovementLuciadCPillar
LCP-4
Bug fixLuciadCPillar
Bug fixLuciadCPillar
LCP-46
Bug fixLuciadCPillar
LCP-45
Bug fixLuciadCPillar
LCP-154
IFeatureModel
, and then removing
its layer from the map.
Bug fixLuciadCPillar
LCP-108
Bug fixLuciadCPillar
LCP-138
CoordinateReferenceProvider
when trying to parse a WKT string containing an EPSG authority code.
Bug fixLuciadCPillar
LCP-137
CoordinateReferenceProvider
didn't correctly parse Web Mercator (EPSG:3857) WKT strings
from gdal. The geodetic datum was spherical instead of flattened.
Bug fixLuciadCPillar
LCP-133
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-1
Bug fixLuciadCPillar
LCP-6
Bug fixLuciadCPillar
LCP-2
IIcon
instance
in an IFeaturePainter
implementation. Same IIcon
instances are now
internally re-used, which leads to less memory usage and a higher painting performance.
Upgrade considerationLuciadCPillar
VerticalAlignment::Above
and VerticalAlignment::Below
have been renamed
to VerticalAlignment::Top
and VerticalAlignment::Bottom
respectively.
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
ExpressionValue
methods boolValue
, doubleValue
,
... have been renamed to getBoolValue
, getDoubleValue
, etc.
Upgrade considerationLuciadCPillar
Upgrade considerationLuciadCPillar
LCP-156
LayerFeatureId
has been changed.
It is now consistent with the type name.
Upgrade considerationLuciadCPillar
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
create
methods which returned std::unique_ptr<>
now return
std::shared_ptr<>
.
The affected methods are:
Upgrade considerationLuciadCPillar
std::optional<std::shared_ptr<>>
now return std::shared_ptr<>
.
In your implementation you should now return nullptr
iso std::nullopt
.
Upgrade considerationLuciadCPillar
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
- 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
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
GeoPackageTableMetadata
type
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
GDAL
and proj
to support the GeoTIFF format.
Upgrade considerationLuciadCPillar
SQLite
library has been updated to version 3.31.1.
Upgrade considerationLuciadCPillar
libgpkg
has been updated to version 1.0.1 to support newer versions of the GeoPackage specification.