SimTK OpenSim C++ libraries and command-line applications, and Java/Python wrapping.
Core libraries corresponding to the OpenSim 4.5 release.
Changes included in this release can be found in both CHANGELOG.md and CHANGELOG_MOCO.md (Moco 1.3.0).
API-only release in preparation for the TGCS 2023 OpenSim workshop.
Some important changes in this release include:
Code base for opensim-core used for version 4.4 release
Code base of opensim-core corresponding to release 4.3
Release 4.2 of the OpenSim core libraries (including Moco)
Release 4.1 of OpenSim core libraries
This release is intended to freeze user facing API changes and to enable GUI integration and internal and external user testing.
Some important changes since the alpha include:
Model::print...
methods to print general and specific model information, such as the number of bodies or the names of every Component in the model, to the consoleDataTable
enhancements to read and write tables of different numeric types like: Vec3
, SpatialVec
, Quaternion
and being able to grow tables by appending columnsJoint
(e.g. from child to parent) was removed. Joints now always provide generalized coordinates that describe the motion of the child frame in the parent and may be reversed internally to obtain an efficient multibody tree representation of the model.max_control
and min_control
settings of an actuator (includes muscles) otherwise an Exception is thrown.PathPoint
hierarchy, with MovingPathPoint
now deriving directly from anAbstractPathPoint
and excludes stationary information that remains in PathPoint
.Connector
was renamed to Socket
. A component has a list of sockets that connect it to its dependencies (that are other components)Component::connect()
was replaced by Component::finalizeConnections()
to distinguish the Component level operation of satisfying its dependencies (Sockets and Inputs) in finalizeConnections()
, from the individual Socket
/Input
task of connecting to its respective Component
/Output
(connect()
).This release is intended primarily for the @opensim-org/dev-team to test with scripting environments and for updating and writing scripting examples.
A few key changes since devweek0716 include:
Connector
and Input
macros for auto generating connect methods.Reporter::addToReport
for including Outputs
of Components to a ReporterTimeSeriesTable<T>
to (flatten
) and from (pack
) a TimeSeriesTable<double>
and reading/writing from tables from/to .sto filesFrame::attachGeometry
convenience method for slapping on (displayable) GeomterySee README.md for instructions for building the OpenSim libraries from source.
To set up MATLAB for scripting with your local build of opensim-core, we recommend you follow the Manual Setup instructions (scroll down to the heading "Manual Setup" and click "expand"). You should make the following change to the edit classpath.txt step:
<opensim-core-install>/sdk/Java/org-opensim-modeling.jar
instead of what is specified.<opensim-core-install>/share/java/org-opensim-modeling.jar
instead of what is specified.