This page aims at detailing the steps to follow when moving, renaming or removing code in SOFA. It focuses on: components and data field. Components Moving a Component to another… read more →
Deprecation macros The 2 base macros SOFA_ATTRIBUTE_DEPRECATED(deprecateDate, disableDate, toFixMsg) To be used to trigger a deprecation warning. It is a simple [[deprecated]] interface. This macro warns that something is DEPRECATED… read more →
Welcome Welcome to the SOFA Community! Here is a brief summary of how it is structured: SOFA Users: people using SOFA by writing scenes or using the SOFA API. SOFA… read more →
Motivation A test suite for SOFA is being developed using the googletest framework. Tests serve two purposes: Automatically detect regressions. They are automatically run after each commit and their results… read more →
Recovering the events from the keyboard or the mouse can be very useful for interactive simulation (ex: controlling surgical instruments) There is already implemented in SOFA a very easy way… read more →
First of all, you can really get inspiration from the fallingSOFA.cpp application reimplementing the fallingSOFA.scn example. fallingSOFA.cpp is a C++ implementation using the SimpleAPI, available in examples/SimpleAPI/. In addition, you… read more →
Create DataEngine Components Basic components such as the example above that inherits BaseObject, only allow for “Parameter” data fields (values that can be changed but only affect the component itself,… read more →
A Link allow you to access a SOFA component from another one anywhere in the simulation graph. In your scene creation file, it usually appears as : input=@../component. In this… read more →
Shadows Shadow Mapping has been implemented in SOFA, in order to have a better depth feeling (and an overall nicer scene…) Two versions has been coded : hard shadows :… read more →