Skip to content

SIMDIS SDK 1.25

Latest

Choose a tag to compare

@emminizer emminizer released this 11 Sep 20:17
· 20 commits to main since this release

SIMDIS SDK changes since version 1.24

New Features

  • Planar navigation mode added for mouse controls without direct azimuth/elevation manipulation.
  • QtDockingOptions is a new SDK Example application to demonstrate behavioral differences between QDockWidgets and the simQt::DockWidget.
  • simCore::EventRateTracker is a new class leveraging simCore::calculateEwma() to calculate data rates without using a ring buffer.
  • simCore::FileFinder is a new class containing many file search capabilities.
  • simCore::GOG::GogShape classes now return std::optional for get methods instead of an integer. Previous implementations of the get methods are still present as deprecated methods.
  • simCore::calculateEwma() is a new function that calculates an exponentially weighted moving average (EWMA), which is useful for calculating e.g. bytes per second without requiring a ring buffer.
  • simCore::CoordinateConverter now includes several overloads that return std::optional for improved usability over versions that require references as parameters.
  • simExamples::enableHighDpiSupport() is a new utility function for examples and standalone applications to enable high-DPI support and register osgEarth callbacks for high DPI. At this time it must be explicitly called to enable high DPI support.
  • simQt::BoundIntegerSetting comboboxes now support selecting from enumeration values that do not count upwards from 0.
  • simQt::OverrideShortcut is like QShortcut with a WidgetWithChildrenShortcut context, but will override any ambiguous shortcuts inside larger applications. This is useful for ad hoc shortcuts on widgets that are intended for only a window and its children.
  • simQt::QtUtils::addTabShortcuts() is a new utility that adds Ctrl-1 through Ctrl-9 shortcuts to select specific tabs, and Ctrl-PgUp/PgDn or Ctrl-Tab/Ctrl-Shift-Tab to go to next/previous tabs.
  • simQt::QtUtils::getMainWindowParent() will now return a modal QDialog parent if one is found before the QMainWindow, to prevent children of modal dialogs from becoming blocked by the dialog that spawned them.
  • simQt::TreeViewUtils is a new class containing useful utility methods for QTreeView.
  • simUtil::GogManipulator added to edit individual GOGs; simUtil::GogManipulatorController allows for editing multiple GOGs at once. GOG Reader example updated to allow for editing GOGs.
  • simUtil::IconDragger is an osgEarth::Dragger that uses a 2D image icon to represent the drag point.
  • simVis::GogNodeInterface adds setReferencePosition(), isRelative(), and isAttached().
  • simVis::GogNodeInterface now exposes setScale() and getScale() methods for dynamic GOG editing.
  • simVis::readImageFromSpan() is a new helper method for loading osg::Image from in-memory spans; simVis::makeCursorTranslateImage(), makeCursorRotateImage(), and makeCursorDiagonalLlUrImage() use it to create default images for cursor manipulation.

Bug Fixes

  • GOG command scale no longer incorrectly warns when the X, Y, and Z scale are all specified correctly.
  • simCore::AntennaPattern and related functions now correctly calculate gain for asymmetric antenna pattern tables.
  • simCore::DisModelCache template, header-only class is now correctly declared without SDKCORE_EXPORT.
  • simQt::DockWidget only enables hot keys when floating to avoid ambiguous overload.
  • simQt::EntityFilterLineEdit hot keys are only active when the line edit has focus.
  • simQt::FileSelectorWidget and DirectorySelectorWidget no longer have a redundant "Private/" in the default registry key.
  • simVis::AnimatedLine animation direction switched to match existing osgEarth behavior.
  • simVis::TimeTicks font now scales similarly to other SIMDIS text.
  • simVis::View fixes near plane culling issues related to Overhead mode.