What is SOFA Front-end ?

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;