Releases: opensim-org/opensim-core
OpenSim 4.5.1
API-only release in preparation for the CMBBE 2024 OpenSim workshop.
Changes included in this release can be found in both CHANGELOG.md and CHANGELOG_MOCO.md
OpenSim 4.5
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).
OpenSim 4.4.1
API-only release in preparation for the TGCS 2023 OpenSim workshop.
Some important changes in this release include:
- IMU::calcGyroscopeSignal() now reports angular velocities in the IMU frame.
- Made Component::getSocketNames a const member method (previously: non-const)
- Modifed the swig interface files to make OpenSim::PathPointSet adopt new PathPoints inserted into it. (Issue #3276)
- Remove references to obsoleted dependency BTK, use ezc3d exclusively.
- Improve documentation for MotionType to serve scripting users (Issue #3324).
- Added OpenSim::AbstractSocket::canConnectTo(Object const&) const, for faster socket connectivity checks (#3451)
- Fixed the CoordinateCouplerConstraint bug preventing functions with multiple independent coordinates (#3435)
- Added SIMBODY_EXTRA_CMAKE_ARGS to dependencies/CMakeLists.txt, which lets integrators customize Simbody via the OpenSim superbuild (#3455)
- The property, input, output, and socket macros (e.g. OpenSim_DECLARE_PROPERTY) can now be used outside of the OpenSim namespace and no longer require a using namespace OpenSim; declaration in order to work (#3468)
- Fixed issues #3083 #2575 where analog data is not pulled out from c3d files, a a new function getAnalogDataTable() has been added to the C3DFileAdapter
- Add calcMomentum, calcAngularMomentum, calcLinearMomentum, and associated Outputs to Model (#3474)
- Fix issue where a different init.py is used by conda package and dev environment, the fix allows developers to install local builds into conda. (#3502)
- Fixed a bug where failing MocoProblems with path constraints returned a zero time vector.
- Added getSphereForce, getHalfSpaceForce, and associated Outputs sphere_force and half_space_force to SmoothSphereHalfSpaceForce.
- Added convenience methods MocoGoal::setEndpointConstraintBounds and MocoGoal::getEndpointConstraintBounds.
OpenSim 4.4
Code base for opensim-core used for version 4.4 release
OpenSim 4.3
Code base of opensim-core corresponding to release 4.3
OpenSim 4.2
Release 4.2 of the OpenSim core libraries (including Moco)
OpenSim 4.1
Release 4.1 of OpenSim core libraries
OpenSim 4.0
Merge pull request #2343 from opensim-org/XMLDocument_40000 Prepare for releasing 4.0
Beta release of 4.0 API for GUI integration and user testing
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:
- revised and more complete
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 console DataTable
enhancements to read and write tables of different numeric types like:Vec3
,SpatialVec
,Quaternion
and being able to grow tables by appending columns- the user-facing option to reverse the sense of a
Joint
(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. - no more internal (silent) clamping of muscle excitation (controls) to Muscle models. Input controls must satisfy the
max_control
andmin_control
settings of an actuator (includes muscles) otherwise an Exception is thrown. - update to the
PathPoint
hierarchy, withMovingPathPoint
now deriving directly from anAbstractPathPoint
and excludes stationary information that remains inPathPoint
. Connector
was renamed toSocket
. A component has a list of sockets that connect it to its dependencies (that are other components)Component::connect()
was replaced byComponent::finalizeConnections()
to distinguish the Component level operation of satisfying its dependencies (Sockets and Inputs) infinalizeConnections()
, from the individualSocket
/Input
task of connecting to its respectiveComponent
/Output
(connect()
).
Alpha Pre-release of 4.0 for Internal Testing and Example Writing
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
andInput
macros for auto generating connect methods.Reporter::addToReport
for includingOutputs
of Components to a Reporter- conversion of
TimeSeriesTable<T>
to (flatten
) and from (pack
) aTimeSeriesTable<double>
and reading/writing from tables from/to .sto files Frame::attachGeometry
convenience method for slapping on (displayable) Geomtery
See 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:
- On Windows, use:
<opensim-core-install>/sdk/Java/org-opensim-modeling.jar
instead of what is specified. - On macOS, use:
<opensim-core-install>/share/java/org-opensim-modeling.jar
instead of what is specified.