-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Use a library introducing a level of abstraction for the scene creation to ease the process of building a scene while allowing more modularity in the GUI.
The targeted library is a WIP done by me offering two level of abstraction (see https://github.com/bakpaul/SofaPython3/tree/poc_on_new_prefabs/splib) :
- A library of consumable methods thought to help building a scene in a correct manner. This will pre-select the components used in the scene to avoid mistakes and ease the process of scene building without having to dive into the SOFA API too much.
- A set of "prefabricated" objects that uses this library and help building more advanced object. e.g. the current WIP already offers a "SimulatedObject" that, with only 4 calls to its class method allow to build a simulated object with either external topology or automatically generated sparse grid, with either linear elasticity of hyperelasticity, with any collision model, extracted from the simulated topology or coming form a file and same for a visual model and so on.
This library is in the process of being put to production on SOFA side and will certainly help Slicer community in building their scene.
A last advantage of using this lib is to ease the process of building scene with IGTLink support. By creating a custom "prefabricatedObject" specialized in simuilation with IGTLink support for Slicer use, we can automatize the process of adding IGTLink channels to connect to Slicer directly in the SOFA Scene. I can also be used at one point to produce scene file easily from Slicer once we are happy with the simulation built and we want to try it in SOFA for more debug information.