Skip to content

SIMDIS SDK 1.18

Compare
Choose a tag to compare
@emminizer emminizer released this 01 Mar 20:31
· 379 commits to main since this release

Note that future releases past 1.18 will require a C++17-compatible compiler.

SIMDIS SDK changes since version 1.17

New Features

  • CMake variables BUILD_SIMDATA, BUILD_SIMVIS, BUILD_SIMUTIL, and BUILD_SIMQT have been added, to optionally disable the build of these modules.
  • Platform Preference overrideColorCombineMode lets users choose how override color contributes to model color. Choose between multiply (the default) and replace.
  • Platforms with no orientation and/or no velocity are now supported.
  • Wbp OSG Plugin added, to read .wbp extensions as WebP files. Depends at runtime on the osgEarth .webp OSG plugin.
  • simCore::RowReader is a new class built on simCore::CsvReader to read and refer to CSV content by column title.
  • simCore::Units various family constants deprecated, in favor of identically named constants in simCore namespace.
  • simQt::MultiTouchEventFilter is a Qt event filter that forwards raw touch events to the OSG GraphicsWindow's event queue, intending to circumvent osgQt's touch behavior.
  • simQt::StartupLayoutManager::unregisterTask() added so that a task can be unregistered.
  • simUtil::GestureProcessor is a new class that reads multi-touch events and generates gesture analysis per touch update.
  • simUtil::MouseDispatcher base class now includes methods for receiving and processing touch events, touchBegan, touchMoved, and touchEnded. MouseManipulatorAdapter by default will repackage touch events as mouse click events.
  • simVis::LambdaOsgCallback replaces simVis::NodeUpdateCallback as a more generic method for adding callbacks to nodes.

Bug Fixes

  • simData::DataTable::TableObserver no longer causes a crash, if the table observer removes itself mid-callback.
  • simData::TableManager::ManagerObserver no longer causes a crash, if the manager observer removes itself mid-callback.
  • simQt::BoundBooleanSetting::setValue() no longer causes bound QActions to incorrectly emit triggered() signals.