CENSLIB - Computational Embodied
Neuroscience Simulation Library
CENSLIB is 3D simulation C++
library allowing to easily build robots
and environments using 3D graphics plus
collision detection and physic dynamics.
OpenGL graphics library and Bullet
Physics library are used in an
encapsulated mode.
The examples directory contains some
examples of use of the library.
A complete reference to the library can
be derived from the code ("doxygen
Doxyfile").
############################################
## DEPENDENCIES ############################
############################################
Supporting libraries are the Eigen2
linear algebra library, used for data
manipulation within the graphics module and
the Magick++ library, used in order
to manipulate screenshots of simulations
as pixmaps.
On a debian distribution install these
packages through this command:
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev \
libmagick++-dev libeigen2-dev libboost-regex-dev \
libboost-system-dev libboost-filesystem-dev libxmu-dev libxi-dev
then install bullet 2.82 release. On a
terminal:
svn checkout http://bullet.googlecode.com/svn/tags/bullet-2.82/ bullet
cd bullet; mkdir cmake_build; cd cmake_build
cmake -D INSTALL_EXTRA_LIBS=ON ..
make
sudo make install
Now download the latest CENSLIB version
from here, untar, build and install it:
tar xzvf censlib-<release-number>.tar.gz
cd CENSLIB
mkdir build; cd build
../configure
make
sudo make install
############################################
## USAGE ###################################
############################################
The following command Compiles and links
an example.cpp source file:
c++ -O2 -o example example.cpp \
-I/usr/local/include/CENS \
-I/usr/local/include/bullet -I/usr/include/eigen2 \
-I/usr/include/ImageMagick \
-lCENS-1.1 \
-lBulletWorldImporter -lBulletFileLoader \
-lBulletSoftBody -lBulletDynamics \
-lBulletCollision -lLinearMath \
-lboost_regex -lboost_system -lboost_filesystem\
-lGL -lGLU -lglut \
-lMagick++