26 July 2024
We’re pleased to present the release notes for GeoToolkit C++ 4.8.
We’re pleased to present the release notes for GeoToolkit C++ 4.8.
Carnac
Highlights
- Extended Python wrappers
- Replaced char* with cgString where it is appropriate
- Eliminated legacy “4” in file names
- Fixed support of Qt6.5.0 and up
- Fixed support of MSVC2019
- Replaced the cgSafePtr objects by cgISafePtr (Performance purpose)
- Implemented feature to track memory allocations (CG_USE_SAFE_NEW)
Library Changes
- Removed usage of V 4.5/4.6 deprecated methods and classes
- cgColorMap color list extended with BlackWhite and BlackWhiteOrange
Tutorials
- RulerTool shows how to create and use custom RulerTool for cgAxisDrawing creation
Bugs
Carnac
- Huffman compression fixed for QtSeismicViewer
- Fix labels position in cgAxisDrawing
- cgGenericRegion implementation improved
- Problems in generating PDF from Print Preview are fixed
- Fixed warning “function assumed not to throw an exception but does”
- cgAxisDrawing labels position and bounding bbox calculation is fixed
- LabelWrapperComponent: text overlaps the border issue is fixed
- Method that finds segments cross-section, fixed and moved to accessible place
- Fixed circular gauge invalidation and annotation position
- Fixed problems with catch cgThrow(this,msg)
Chart
- Templates saving errors are fixed
- Background image scaling is fixed
- Brush origin for background image is fixed
- cgQBarChartVisual2D fixed for small values, switched off for stacked barType
- Fixed chart settings dialog: keep current page to be active after pressing Apply button
- cgQChartAnnotationVisual fixed to render itself only in needed area
- cgGridDrawing bbox fixed to be rendered correctly
- Fixed save\load line chart type
- Fixed loading template for incompatible chart types
- Fixed selection in the line chart of percentage type
New Functionality
Carnac
- cgQParametersProvider – new abstract base class, which provides a collection of cgVariant-based typed parameters
- cgQParametersWidget – new widget to edit parameters of cgQParametersProvider
- cgBinaryMemoryReader/cgBinaryEndianReader – new readers are introduced
- Implemented methods to get type-checked array data from cgVariant
- Const iterator classes are added
- cgErrorBase New base class, which that doesn’t use allocation
- cgStringUtil::fitText() methods added to fit text at word boundaries (spaces and tabs between words) if it doesn’t fit given width.
- Get rid of excessive interface_cast and dynamic_cast
- cgAtof introduced to prevent incorrect float data reading because of locale
- cgCrurveDrawing rendering in CT_Spline mode improved
- cgXmlReader new class for xml reading is addeds
Plot
- Added nice_limits_mode for cgAxisAdaptiveLinearTickGenerator
- cgQZoomPanTool new methods are added
- Added classes cgQGadgetDrawing and cgQHorizontalScaleDrawing as a replacement for current map scale implementation
- cgQHorizontalScaleDrawing: added more rendering styles and properties
- cgQGadgetLabelDrawing new gadget label drawing
- Axis ticks invalidation signals/slots are added
Chart
- New functionality is added to cgQLegendTool
- Line chart rendering in percentage mode improved
Map
- cgQWMTSVisual work was improved, new functionality was added
- cgQTextFeature. Added new feature to show text correctly
Contour
Highlights
- Improvements and Bug-fixes
Library Changes
- cgFastVector replaced with cgSafeArray to improve performance\speed
New Functionality
- New outline methods are added to cgQContourModelBase
- Added visible levels to Contour Properties
Bugs
- Fixed problems in QContourProperties and QContourColorMapEditor with faults and outline
- Fixed Contour colormap editor – incorrect colormap size when load from file
- Fixed activation of “Apply” button when visible levels are changed
Seismic
Highlights
- Improved remote seismic reader to support the last IVAAP and INTGeoServer
- Refactored Remote Seismic Reader
- Added map view
- Added cgQAxesSwitchDialog: alphabetical items sorting
- Integrated python terminal in seismic viewer
Library Changes
- Traces axis desiredAxisWidth() and cgTraceTickGeneratorBase::preprocess() optimized for big traces count
- Reading of Seismic index using cgBinaryReader instead of old BinaryInputStream
- Resize with interpolation is added to Colormap dialog
New Functionality
- Python console is added to QtSeismicViewer
- cgQSeismicVisualInterface replaced with safe cgQSeismicVisualSafeInterface based on smart pointers
- Display header values for empty traces
- Implemented opening of Volume Index files
- QtSeismicViewer: added map view for remote seismic
- cgBinaryDataCache added network cache; added send time to request info
- cgQSeismicColorBarComponent is added to be used in cgQMultiAxesSeismicPlotBase
- cgQSeismicModel: added ability to set custom seismic scene implementation
- Added methods cgSeismicSection::file_info()
Bugs
- Prevented crash in seismic sections because of trace or sample index out of range
- Prerequisites for big seismic files processing: fixed too long cgSeismicCacheSection deletion
- Fixed crash for deep zoom out
- RemoteSeismicSection: added feature to receive data that were missed
- Seismic tutorials crash at start under Linux is fixed
- Fixed crash when normalize VolumeIndex section by section max
- Fixed some problems in Seismic indexing and transposing
- Fixed displaying seismic value under the cursor
- Error handling fixed for remote seismic authorization and GeoMapLayer
- Fixed Seismic print preview vertical stretch
- Fixed Highlighting the histogram field beyond the boundaries
- Fixed crash in MultiAxes Plot when edit colorbar and no seismic layer present
- cgSegyFileIO: Fixed handling of negative start value and null callback
- Fixed Seismic colorbar problems when use density scale
WellLog
Highlights
- cgQMultiWellTrackContainerWidget new container with detached headers and improved functionality introduced
- cgDlisWriter – Created DLIS writer. Create file from scratch, change existing data, add curves and channels
- Improved DLIS reader stability and performance a lot
- Added and tested Multithreaded work with DLIS files
- Added support for density in seismic log visuals
- Eliminated unsafe smart pointer creation
Library Changes
- Tracks casting improved – dynamic_cast replaced with interface_cast
- Track and Visual’s dialogs view and functionality updated
- cgQWellLogAnnotation performance improved
Tutorials
- DlisWriter. Demonstrates how to use cgDlisWriter for DLIS files creation/modification
- ScaleStrategy. Demonstrates how to use ScaleStrategy in deviated tracks
New Functionality
WellLog
- cgDlisParser functionality extended with several methods
- cgWellLogAxisBaseLineVisual introduced to make rendering synchronized with cgWellLogAxisTickVisual
- cgQDefaultSeismicLogPropertyEditor. Added property editor for seismic log visuals
- Set track headers optionally to be of fixed size or to be resizable interactively by mouse
Deviated WellLog
- cgQTrackWidthStrategy introduced
Multiwell
- QtMultiWell Demo updated to use both new cgQMultiWellTrackContainerWidget and old cgQMultiWellContainerWidget widgets
Bugs
- DefaultFillPropertyEditor updated to change the color data source correctly
- cgQCurveEditTool fixed to edit curves in GraphicsItemLogEditor and LogEditor tutorials
- cgQWellLogLithologyTool patterns change on Linux fixed
- cgLas30Parser date/time/degrees/mins/secs formats representation corrected
- MultiWell Splitter work fixed
- Fixed text clipping for DPI != 1.0
- cgQSeismicLogHeader rendering and size calculation is fixed
- Deviated cursor tracking and tooltip tool several problems are fixed
- Deviation algorithms fixed to prevent crash on huge zooms
- GhostTool artifacts are fixed
- cgQTVDTransformer artifacts are fixed
- Collapsed tool: The interval shadow incorrect move after zooming in is fixed
WellSchematic
Highlights
- Improvements and Bug-fixes
Multiwell
- QtTrackSchematic demo Track resize fixed and functionality improved
Bugs
- Problems in cgQCompressedTickGenerator fixed to render QtInteractiveSchematic tutorial correctly
Check Other GeoToolkit C++ Releases
GeoToolkit C++ 4.7 Release
GeoToolkit C++ 4.6 Release
GeoToolkit C++ 4.5 Release