Roadmap

The technical roadmap of SOFA is voted by Consortium members during the bi-annual Scientific and Technical Committee (STC). Information regarding the governance of the SOFA Consortium is available on our presentation page.

Do not hesitate to freely register for the next STC. Upcoming STC#7 will take place in Inria Sophia-Antipolis on the French Riviera from 20-22 May 2019.

Freely join STC#7

objectives

Roadmap topics

Latest STC (STC#6) took place the 07-09th November 2018 in Strasbourg.
During this meeting, the committee voted the following roadmap:

SofaPython

  • CMake: cannot have sofapython- legacy and sofapython3
  • CMake: make it an external package
  • Scene creation API + loader + external python3 (easy)

    • memory leak on PythonScriptController (current sofapython)
    • add, create, getdata, setdata
    • add tests and docs
    • integrate gtest
  • Data access API (1 remaining hard question)
  • Overridable component (1 remaining hard question)
  • potentials problems
  • override getattr/setattr
  • object not yet in scene graphs
  • explore metaclass idea

Data updates

  • Create documentation from slides (from two previous presentation)
  • Use widely the API of SimpleDataEngine

    • Set it as DataEngine (default)
    • List all components inheriting DataEngine
    • Remove confusion between data.isDirty() != m_datatracker.isDirty(data)
    • Change in all Engine components: update() → doUpdate()
    • Update doc
  • State in SOFA (for v19.06)

    • Rename DataTrackerDDGNode::isDirty() to hasChanged()
    • Data<int> “d_state” to all objects (probably a bad idea tu use Data to track state)
    • Document the state mechanism
    • Display of data graph
    • Discussion : all components should be DataEngine !?
    • mass, forcefield, solver, constraints

Multithreading

  • Generic Constraint Solver
  • LCP Constraint Solver
  • Tasks pool allocator:

    • Implement both a global allocator or worker thread local allocator
    • Implement unit tests
    • Compare both allocators performance
  • Run the collision detection and deformable object solver concurrently
  • Think how to fit and support a fast haptic thread in the TaskScheduler
  • Make the TaskScheduler compatible with CUDA architecture

Read the full STC#6 report – STC6-Report.pdf

Read reports of previous STC

Back to Top