API  4.4
For C++ developers

This documentation is for people who want to extend the OpenSim libraries by, for example, writing a C++ plugin or creating new Components. Therefore, this site contains documentation for protected methods that you might need to implement. If you simply want to make use of the API in MATLAB or Python, then this documentation contains excessive information and you should check out the user API documentation.

The table below represents the hierarchical structure of OpenSim. Each box represents a class utilized by the OpenSim API, and is built on top of (i.e., requires) the components underneath. For example, you can click on the "Model Component" block to see a list of model components, such as body, constraint, or joint.

Click on any of the boxes to navigate to corresponding class description.

Manager Analysis
Model Dynamics Engine
Model Model
Model Component

Other specific classes of interest in OpenSim:

Classes of interest in Simbody:

  • SimTK::Matrix_
  • SimTK::Vector_
  • SimTK::Vec
  • SimTK::UnitVec
  • SimTK::Rotation
  • SimTK::MobilizedBody
  • SimTK::SimbodyMatterSubsystem
  • SimTK::State

For documentation on the OpenSim Moco optimal control library, visit Moco.