Get Simox from a PPA
You have the choice of either installing the simox package from our PPA or by compiling the sources (see below). The PPA/package currently is available only on Ubuntu distributions starting from Precise (12.04) up to and including Trusty (14.04).
First, add the PPA to your list of repositories and then install the package via apt-get:
sudo add-apt-repository ppa:simox-dev/ppa
sudo apt-get update
sudo apt-get install simox
Keep in mind that this will only install simox without any special options enabled (e.g. bullet) and with Coin visualization support.
Get Simox from sourceforge repository
Retrieve the sources with:
svn co https://svn.code.sf.net/p/simox/code/trunk simox
Or use a GUI-based SVN client to grab the sources from:
https://svn.code.sf.net/p/simox/code/trunk
Install dependencies
You will need the following libraries installed on your system:
Visualization / 3D Model support
- Coin3D/Qt (recommended)
For 3D visualization support Simox offers a plugin-like mechanism that can be extended in order to make your favorite 3D library usable. In the current version Coin3D/Qt support is already implemented allowing to handle Open Inventor file formats (.iv, .vrml) in combination with Qt-based GUIs. If you want to use this visualization supported you will additionally need the following libraries:
- OpenSceneGraph
With OpenSceneGraph (OSG) a LGPL library can be used with Simox (instaed of the GPL-library Coin3D). OSG supports several file formats for 3D-model loading, e.g. 3dc, 3ds, flt, geo, iv, ive, lwo, md2, obj, osg, whereas some of them depend on external libraries which must be present on your system. Have a look at OSG's installation and plugin help pages.
- No visualization support
With this setup, visualization is disabled and hence, no collision detection can be performed. Nevertheless all operations which do not rely on 3d models, e.g. coordinate transformations, are still available.
Linux
Simox is tested on several Ubuntu platforms and there shouldn't be any problems with other distributions (if you observe any strange behaviors, please let us know).
- In order to setup the dependencies, you could either
- have a look at the package manager of your distribution (maybe the libs you will need are already installed)
- or you install them by hand, i.e. compile and install the sources.
- On an Ubuntu 14.04 system you can install the libraries (with coin support) the following way (on other systems the names of the libraries may differ slightly):
sudo apt-get install build-essential libboost-all-dev libeigen3-dev libsoqt4-dev libcoin80-dev cmake cmake-gui libqt4-dev subversion
- create a build directory, e.g.
<path_to_your_simox_checkout>/build
- Setup your environment variables (not needed if the dependencies were installed to the standard linux system paths, e.g. when the package management system was used)
- Eigen3_DIR -> Path to Eigen3
- BOOST_ROOT -> The Boost directory
- Coin3D_DIR -> The Coin3D library
- SoQt_DIR -> the SoQt lib (Has to be compiled with the used Coin3D and Qt version)
- QT_QMAKE_EXECUTABLE -> The complete path to the qmake binary file. Usually located at
<QtDir>/bin/qmake
- Simox_DIR -> The path to your simox checkout
- An exemplary setup could look like this (Adjust the paths according to your setup!). You can create a simox_setpath.sh file and by calling
source simox_setpath.sh
all exports are set in your shell environment.
export Eigen3_DIR=~/libs/Eigen3/include/eigen3
export QT_QMAKE_EXECUTABLE=~/libs/Qt-4.7.4/bin/qmake
export BOOST_ROOT=~/libs/boost/1.47.0
export SoQt_DIR=~/libs/Coin3D
export Coin3D_DIR=~/libs/Coin3D
export Simox_DIR=~/simox
- Create make files:
- go to your build directory:
cd $Simox_DIR
- call either
ccmake ..
or use the cmake-gui ..
(see below for further information about cmake-gui)
- configure ('c' in ccmake) and generate make files ('g' in ccmake)
- Compile Simox
- Now Simox with all examples can be compiled by typing 'make'. Optionally you can specify how many processes should be used for compiling (e.g. 'make -j4')
- IDE
Windows
IDE / Compiler
On Windows we recommend the Visual Studio series for development. Microsoft provides a free version, the Visual Studio Express Edition: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express. (todo: maybe the platform SDK or the Windows SDK have to installed with the VS express edition.)
Download and install dependencies
Windows Environment Variables
In order to allow smooth development we recommend to setup your windows envrionment variables according to your installation. Check, if the following entries are present at your system:
- BOOSTDIR -> the boost directory
- COINDIR -> The Coin3D install directory
- QTDIR -> The Qt directory
- Simox_DIR -> The directory where you checked out the simox source code.
- The Path variable should contain the following entries:
- %QTDIR%\bin
- %COINDIR%\bin
- %BOOSTDIR%\lib
Mac
todo
Compile Simox
You can use cmake, ccmake (on linux) or cmake-gui for setting up the compilation process.
- Create a build directory (e.g. $Simox_DIR/build) and configure simox with
cmake ..
or by starting cmake-gui
.
- Check, if all paths are found correctly.
- configure (until all entries are valid) and generate make/solution files
- Compile with
make
or open generated project files in your IDE (E.g. a cmake visual studio generator will create the following solution file $Simox_DIR/build/Simox.sln)
- The libraries will be located at BUILD_DIR/lib and all binaries go to BUILD_DIR/bin
- Debug / Release: On linux and mac you can switch between debug and release by setting the CMAKE_BUILD_TYPE variable either to
Debug
or to Release
. When compiling with VisualStudio, you can select the build type within your IDE.
Here is an exemplary setup with cmake-gui: