Skip to content

SIMDIS SDK 1.14

Compare
Choose a tag to compare
@emminizer emminizer released this 12 Mar 19:18

SIMDIS SDK changes since version 1.13

New Features

  • Example Velocity Particle Layer added to demonstrate the particle layer with wind data from NWS.
  • GOG Parser is more forgiving of color input strings, now accepting hexadecimal and unsigned integer values.
  • GOG Points shape no longer supports extrude.
  • Platform Dynamic Scale Algorithm can now be changed per-platform. See PlatformPrefs.dynamicScaleAlgorithm. A new algorithm has been added to scale a platform directly from meters to pixels. This creates a consistently sized platform and is particularly useful for showing image icons at the source image size.
  • simCore::GOG::Parser parses the GOG shape format into GogShape objects.
  • simCore::GogShape class defines shapes for display with all their supported attributes.
  • simCore::Optional is a new templated class that represents a value that may or may not be set.
  • simCore::buildString() performance improved by making the stringstream a thread_local variable. Due to bugs in the GCC runtime on older RHEL6, this optimization is only available on Windows.
  • simCore::streamFixUtf8() is a new function that can be applied to UTF-8 std::string filenames, allowing filenames with UTF-8 multi-byte characters to be opened correctly on Windows systems.
  • simData::Datastore flush updated with new, more flexible routines.
  • simQt::BindCenterEntityToEntityTreeComposite now calculates the nearest time for Beams, Gates, Lasers, Lob Group and Projectors.
  • simQt::ColorGradient can now be set as discrete, causing colors to be returned without interpolation.
  • simQt::ColorGradientWidget now includes several new properties to allow for the customization of display to units other than percentage. This impacts only the text displays to the user, and not the underlying color gradient, which is still defined in percentages.
  • simQt::EntityTreeModel now uses a std::map to improve performance.
  • simQt::MapDataModel now natively supports simUtil::VelocityParticleLayer.
  • simQt::PersistentFileLogger now has new features setSubdirectory(), setExtension(), and setBinary(). Binary data can now be written using the new write() method.
  • simQt::Settings::DataTypes and simQt::SettingsItemDelegate now support QFont.
  • simVis::ElevationQueryProxy now works with osgEarth Future/Promise API.
  • simVis::GogNodeInterface add methods to set the Follow components.
  • simVis::GradientShader is a new class that can generate a shader that returns a color from a gradient map.
  • simVis::ViewManager::LambdaCallback is a new class that lets you use a lambda to define the callback operation where a simVis::ViewManager::Callback is required.
  • simVis::ViewportSizeCallback is a new class that accepts a lambda function and executes the function when the associated viewport size changes.

Bug Fixes

  • Beams with horizontal beam greater than 180 degrees are now drawn correctly.
  • Example QtDockableViews now turns off image unref to fix display error, fixing issue 68.
  • simCore constants SECONDS_STRING and ORDINAL_STRING were unused and have been removed.
  • simQt::ColorGradient, like simQt::ColorGradientWidget, now properly works with a single color stop and no longer requires two color stops.
  • simQt::ColorGradientWidget no longer expands the gradient at the same rate as the list.
  • simVis::AnimatedLines now use osg::Groups to hold their components rather than osgEarth::LineGroups, allowing proper intersection testing for all components.
  • simVis::ProjectorNode::addProjectionToNode() now correctly fails early if attempting to assign more than one projector to an entity, avoiding an infinite loop crash.