kdFlex 0.9.19 release

kdFlex 0.9.19 Code Changes Summary

API Changes

  • Renamed HingePnode.crbSpatialInertia() to crbInertiaMatrix() and it now returns a matrix instead of a spatial inertia. See HingePnode.crbInertiaMatrix for details.
  • The locked hinge type now has a single instance of the locked subhinge type. See the HINGE_TYPE documentation for details.
  • Modified GrayscaleTexture’s and Texture’s lookupOrCreate and writeToFile methods use std::filesystem::path rather than std::string. On the Python side, this means path-like objects can be used in addition to strings. See Texture.writeToFile for an example and details."
  • The Python import locations were changed to mirror the C++ names/namespaces. For example, one should now do from Karana.Dynamics import Multibody rather than from Karana.Dynamics.SOADyn_Py import Multibody. This affects all Python imports coming from the C++ layer. See the tutorial notebooks for more examples.

New Features

Enhancements

  • Added the CoordBase::f2f() method. See CoordBase::f2f for details.
  • Added the SubTree.treeCoordData() method to return subhinge/body merged coord bases coord data. See SubTree.treeCoordData for details.

Bug Fixes

  • A bug in heap sorting the before/after timed events was resolved.
  • Changed the velocity observation frame for the Hunt-Crossley model to be the newtonian frame rather than the virtual root.