The subversion repository
The subversion repository of OpenSim has the following layout:
- Trunk: Work in progress, bleeding edge but comes at a price since it's constantly changing. If not one of the full time developers please contact either Ayman or Ajay before committing code.
- Tags: Labeled versions of the source, made so we can reproduce old builds/environments/releases. Will not change under you since it's a fixed snapshot, usually tags have specific naming convention (e.g. Release_01_07_00 for release 1.7.0) If building a plugin or extending functionality and you want a stable/fixed OpenSim code base use one of these tags.
- Branches: Typically before a release is made, the code is branched for stabilization, bug-fixing and tweaks/documentation update etc. To do this on a stable ground a branch is created(e.g. Branches/OpenSim22 for release 2.2.0)
- Some other obsolete directories.
One important note is that OpenSim depends on other libraries (e.g !SimTKsimbody, xerces etc.). As of 10/25/11, the Simbody libraries are no longer in the repository, you have to build Simbody on your own and point CMake to it while configuring the OpenSim build.
To do this step in CMake you may need to specify all of
- Simbody_BIN_DIR (Simbody_ROOT_DIR/bin)
- Simbody_LIB_DIR (Simbody_ROOT_DIR/lib)
- Simbody_INCLUDE_DIR (Simbody_ROOT_DIR/include)
Under the top level opensim folder you'll find the following directories:
- Applications: Applications built on top of the OpenSim API including scale, ik, id, forward, analyze and corresponding test cases.
- Documentation: Tutorial pdf files, photoshop files for splash screen
- Gui: Source and Netbeans build files for the Java GUI
- API: API examples, doxygen documentation
- Install: Files used by the installer, splash screen icons etc.
- Models: Various models that are distributed with OpenSim (Arm26, Gait2354_Simbody, etc.).
- OpenSim: This the meat of the OpenSim API (including the Java wrapping but building it is optional and requires Java installation)
- Vendors: Prebuilt third party libraries and associated headers used to build OpenSim, including xerces, vtkamong others.