SOFA Front-end in a SOFA simulation framework interface, developed by Digital-Trainers. Its purpose is to ease the integration of SOFA into already existing software, while retaining all the features of the simulation engine. In just a few line of code, it is possible to:
create a SOFA simulation scene (from an .xml file, or directly in the code);
iterate the simulation, and visualize it in an existing OpenGL window;
interact with it in real time;
extract information from the scene (topology, positions, forces, …)
Examples of some configurations based on SOFA Front-end
SOFA Front-end is also available in a client / remote version allowing the control of a simulation hosted on a server. This makes it possible to:
create simultaneously several simulations of SOFA inside a single program;
protect your software from a crash of the simulation;
manipulate SOFA from a program written in languages other than C++.
This version is not publicly available for download. Do not hesitate to contact us if you are interested.
When should I use it ?
Integrating SOFA into an existing software can quickly become tedious (due to management of dependencies, of compiling options …). SOFA Front-end eases this integration while retaining all of SOFA‘s features.
If you intend to integrate SOFA, be it into the core of your software or in the context of a plugin, SOFA Front-end may well be of interest to you. Its interface is simple and limited to basic C++ types, which facilitates its integration into an existing software or even its combination with other programming languages:
adding new import/export features to and from SOFA into your software;
animating your 3D scenes using SOFA as the underlying physics simulation engine;
creating a prototype for the control of a robotic system by modelling this system in SOFA.
Usage of SOFA Front-end in the frame of a simple custom SOFA viewer mono or multi-thread
How to use it ?
To use SOFA Front-end in your projects, you’ll need to download the corresponding archive available in our downloading page. You will also need the archive containing the binaries of SOFA.
Those archives of SOFA Front-end can be used and distributed freely for any non commercial purpose.