AnimAL is a C++ library mostly dedicated to animation of 3D models. The kernel of AnimAL is intended to be highly flexible thanks to generic programming (templates). It includes classes representing basic variables (arrays, rotations, solid transforms, linear algebra, etc.) as well as standard algorithms (numerical integration, optimisation, interpolation, etc.). This kernel uses only standard libraries of C++. Thus it is totally independent of the other modules and is directly portable on another architecture or system.
Actually, except the basic tools and the standard algorithms, the existing code in AnimAL is mainly due to the result of our research code (physical mass-spring system, collision detection). We recently proposed its integration into a new modular architecture, supporting input-output of 3D files, internal 3D scene graphs, and graphic user interface which allows the control of the animation and the viewing of the animated 3D models. This architecture is partly based on free softwares developed by the ARTIS team (X3DToolKit and QGLViewer).
AnimAL, in its preliminary form, was already used within four collaborations:
with the LIGIM research laboratory at Lyon. The goal was to model and animate fractured materials.
with the LIFL research laboratory at Lille. Some parts of AnimAL were used in a surgical simulator.
with the University of Lecce (Italy).
with the University of Tuebingen (Germany) for cloth simulation.
Its main ideas are being transfered to the SOFA framework under developpement in collaboration with INRIA-Futurs, INRIA-Sophia and the CIMIT (Boston) which aims at an international open-source platform for surgery simulation.