opensim-org / opensim-core

SimTK OpenSim C++ libraries and command-line applications, and Java/Python wrapping.
https://opensim.stanford.edu
Apache License 2.0
759 stars 308 forks source link

OpenSim updated to use Simbody#779 #3728

Closed fcanderson closed 4 months ago

fcanderson commented 4 months ago

Brief summary of changes

This commit updates the dependency GIT_TAG for Simbody (see https://github.com/opensim-org/opensim-core/blob/main/dependencies/CMakeLists.txt#L183) to use https://github.com/simbody/simbody/commit/2b4aefbb43d8b55f3edc3bdfafa9636fb988ed3c.

https://github.com/simbody/simbody/commit/2b4aefbb43d8b55f3edc3bdfafa9636fb988ed3c adds three templatized methods (see below) that allow numerical types to be written to XML documents with a specified number of significant figures (i.e., precision):

String::String(const T& t, int precision)
Xml::Element(const String& tagWord, const T& value, int precision)
Xml::setValueAs(const T& value, int precision)

It also restores the default precision to what it was prior to https://github.com/simbody/simbody/pull/762 (i.e., to 6 sig figs, which has been the standard in .osim files for some time.)

https://github.com/simbody/simbody/pull/779 implements a bug fix to https://github.com/simbody/simbody/pull/776, which was the first PR to introduce variable output precision to the above templatized methods.

This update requires no changes to existing OpenSim code.

Testing I've completed

CHANGELOG.md


This change is Reviewable