Skip to content

SIMDIS SDK 1.21

Latest
Compare
Choose a tag to compare
@emminizer emminizer released this 09 Sep 13:11
· 21 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.