You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.