SIMDIS SDK 1.21
·
110 commits
to main
since this release
SIMDIS SDK changes since version 1.20
New Features
- CXX20 support is now the minimum required for building the SIMDIS SDK.
- Gates now have a centroid color preference.
- SDK_DISABLE_COPY, SDK_DISABLE_MOVE, and SDK_DISABLE_COPY_MOVE are new macros available in simCore/Common/Common.h for conveniently disabling copy and move constructors and assignment operators.
- simCore::CsvReader can now be set to ignore comment characters encountered in the middle of a line, using setAllowMidlineComments().
- simCore::CsvReader revamped to process quotes more consistently.
- simCore::CsvWriter is a new class for writing CSV files in an Excel-compatible format.
- simCore::FileInfo::fileName() and path() have been added.
- simCore::GOG::Annotation now serializes out the 3d name property.
- simCore::GeoFence is now in its own header, simCore/Calc/GeoFence.h.
- simCore::GeoFence now supports concave shapes. simCore::GeoFence::valid() now returns true if the shape contains the minimum number of points, and no longer tests concavity.
- simCore::Optional has been deprecated in favor of std::optional. simCore::Optional will be removed in a future release of SIMDIS SDK.
- simCore::Plane enhanced to provide alternate specifications for planes, and ability to retrieve values from the plane formula.
- simCore::ShellWindow provides convenience functions for Windows applications that are configured with the console subsystem to manage the container shell window.
- simCore::calculateBearingAspectAngle() and simCore::formatBearingAspectAngle() available for calculating and displaying bearing aspect angle.
- simCore::rayIntersectsTriangle() is a new function that performs ray-to-triangle intersection in XYZ space.
- simCore::skipUtf8ByteOrderMark() is a new function for detecting and skipping over the UTF8 BOM.
- simData::DataStore::setNewUpdatesListener() replaced with addNewUpdatesListener() and removeNewUpdatesListener().
- simData::DataStoreHelpers::getFileModePlatformTimeBounds() is a new method to retrieve the expected time bounds for a platform in file mode, respecting lifespan preferences.
- simData::PlatformPrefs::LifespanMode is a new preference that controls how platform lifespan (is-active) is determined in file mode.
- simQt::DockWidget adds restoreDefaultLayout() method to reset window layout to factory defaults.
- simQt::EntityTreeComposite custom filters add pin option to maintain filter across restart.
- simQt::ScopedSignalBlocker deprecated, use QSignalBlocker instead. simQt::ScopedSignalBlocker will be removed in a future release of SIMDIS SDK.
- simQt::SettingsModel includes a new option to save only activated settings.
- simQt::TimeWidget now supports ISO-8601 format.
- simUtil::ShapeFileLayerFactory::setSimplifyTolerance() is a new method that provides access to the osgEarth Simplify filter when loading new shape files.
- simVis::SphericalVolume updated to support new LINE beam draw type.
Bug Fixes
- simCore::CsvReader::lineNumber() fixed to handle multiple lines parsed within quotes.
- simCore::HoursTimeFormatter::fromString() typo fixed.
- simData::CategoryFilter correctly adjusts check state when auto-updating while deserializing.
- simQt::DataTableModel now fetches rows with timestamp of -1 from the source DataTable in setDataTable().
- simVis::PlatformIconFactory::getOrCreate() now correctly returns null in cases where the requested model is clearly not an image, fixing an issue where asynchronous loading of 3D models was broken with the fast-draw capability enabled.