Main Page
From SOFAWiki
SOFA Community Wiki
SOFA is an Open Source framework primarily targeted at real-time simulation, with an emphasis on medical simulation. It is mostly intended for the research community to help develop newer algorithms, but can also be used as an efficient prototyping tool. Based on an advanced software architecture, it allows to:
- create complex and evolving simulations by combining new algorithms with algorithms already included in SOFA
- modify most parameters of the simulation – deformable behavior, surface representation, solver, constraints, collision algorithm, etc. – by simply editing an XML file
- build complex models from simpler ones using a scene-graph description
- efficiently simulate the dynamics of interacting objects using abstract equation solvers
- reuse and easily compare a variety of available methods
SOFA is currently developed by 3 INRIA teams: Alcove, Evasion and Asclepios but the project also benefited from the help of the CIMIT Sim Group, ETH Zurich and CSIRO.
Contents |
SOFA
- What is SOFA?
- How to get SOFA
- Installation, compilation
- Getting and installing the public version. A note on Generating the Makefile
- Customizing SOFA
- Qmake issues
- Linux issues
- Some details about installing SOFA on Mac OS X 10.6 (Snow Leopard)
- Fixing compilation issues on Windows 64 bits
- How to compile the Cuda extensions
- Compiling with Boost in Visual Studio 2008
- NEW: Build SOFA using cmake
- First Steps with SOFA
- User Interactions
- FAQ
Get Support
Need help using SOFA? You can contact us using the sofa-users mailing list
The SOFA API
- Doxygen API documentation
- Components and Datas
- Visitors and Solvers
- Data Dependencies
- The ObjectFactory
- Loop Components
- GUI
Writing SOFA scenes
Developing for SOFA
- Developing a new SOFA Component
- Creating a new Plugin for SOFA
- Tools for SOFA Development
- Coding Rules
- Tips
- Profiling your code
- (Windows) DLL Export of specific templates instantiation
- Tracking memory leaks with Valgrind
- How to add a collision model
Tools for SOFA
How To
- How to monitor computation time
- How to monitor mechanical values: positions, velocities, forces, energy
- How to run a sequence of tests to verify the behavior of Sofa
- How to create new interactions with the Mouse
- How to pause the animation
- How to display the vertex indices
- How to write C++ simulation code
- How to use the SOFA QGLViewer
- How to export a VisualModel to a Wavefront OBJ file
- How to export data from a simulation to text files
- How to use valgrind to profile your code in QtCreator
- How to create a video of a simulation
- How to build and load a plugin
- How to write your own plugin
- How to run unit tests
- How to get keyboard or mouse events
About SOFA Components
About SOFA Plugins and optional modules
- Optional modules
- The plugin mechanism
- Creating a new Plugin for SOFA
- Using CGAL
- Using Ogre Viewer
- Haptic
- SofaCUDA
About SOFA extlibs
About SOFA AddOn
- SOFAVR :
- Run sofa with OpenSceneGraph renderer as a Qt Embeded viewer plugin or Standalone multi-threaded viewer plugin for performance gain
- Run sofavr on Virtual Reality plateformes (Immmersive space "Gourand Phong" at Sophia Antipolis or Immersia at Rennes) with 3D interactions
